我有一个返回Excel文件的操作.在浏览器中访问该路由将自动下载我的Excel文件.
我为该操作编写了一个测试,但我能断言的所有内容都是来自头文件的数据.此外,测试将响应直接输出到控制台,文本如w֑m J 9 9 e o .
有没有办法对来自Excel文件输出的数据进行断言?文件未保存,仅显示内容作为响应.
我正在使用Symfony2.
编辑
我找到了一种通过在输出缓冲区中保存响应来读取数据的方法,将内容保存在.xlsx文件中,转换为.csv文件并从那里获取内容.
ob_start(); $this->client->request( 'GET','/myUrl',array(),array() ); $content = ob_get_clean(); file_put_contents('MyFile.xlsx',$content); $reader = \PHPExcel_IOFactory::createReader('Excel2007'); $excel = $reader->load('MyFile.xlsx'); $writer = \PHPExcel_IOFactory::createWriter($excel,'CSV'); $writer->save('MyFileCsv.csv'); $newContent = fgetcsv(fopen("MyFileCsv.csv","r"));
这只是一个草图.我在这里停了下来,没有尝试阅读所有内容并制作断言,但我确信它可以通过这种方式完成.
啊,别忘了删除之后的文件.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。