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