所以我有一个简单的测试,在linux下运行良好但在windows下失败:
$output = <<<END
HTTP/1.1 404 Not Found
X-Foo: Bar
Where am I?
END;
$this->expectOutputString($output);
// Works under linux but fails under windows
echo $response;
// Works under linux and windows
echo str_replace("\r",'',$response);
这是一个标准的xampp php 5.5.15 phpunit 4.7.2安装。在两台不同的Windows机器上试过它。
进行了一些搜索,但无法提出神奇的关键字。拒绝承认以前没有遇到过这种情况,并且因为窗口上的行结尾而无法使用str_replace破解我的单元测试这一概念。
那么phpunit heredoc设置将在windows下添加\ r \ n或相反地将它们从windows下的echo中移除而不会弄乱其他东西?