美好的一天,
我正在尝试使用phpunit 5.7.13运行我的laravel 5.4.12测试。当我故意发出语法错误时,phpunit将无法按预期继续。但是,一旦语法错误得到纠正,phpunit就会执行,只需在命令行中说“it works”即可。当我添加故意失败的测试时,它不会显示该错误。
在我的composer.json上,我将phpunit的必需-dev放到5.7。
我在Windows机器上运行php 5.6.15。
phpunit和laravel之间是否存在任何不兼容性?我尝试在一个带有旧版laravel的项目上运行phpunit,并设法运行所有测试。
答案 0 :(得分:0)
Laravel 5.2.41 phpunit.xml(phpunit可以使用的旧项目)
var pendingWork = {};
var workId = 0;
var worker = new Worker("path/to/web/worker.js");
worker.addEventListener("message", function(e) {
// Worker has finished some work, resolve the Deferred
var work = pendingWork[e.data.id];
if (!work) {
console.error("Got result for work ID " + e.data.id + " but no pending entry for it was found.");
} else {
if (e.data.success) {
work.resolve(e.data.result);
} else {
work.reject(e.data.error);
}
delete pendingWork[e.data.id];
}
});
function longrunning(info) {
return new Promise(function(resolve, reject) {
// Get an identifier for this work
var id = ++workid;
pendingWork[id] = {resolve: resolve, reject: reject};
worker.postMessage({id: id, info: info});
});
}
这使得phpunit进入子目录并运行每一次测试。
Laravel 5.4.12 phpunit.xml(phpunit不运行测试的新项目)
<testsuites>
<testsuite name="Application Test Suite">
<directory suffix="Test.php">./tests</directory>
</testsuite>
</testsuites>
Phpunit不会进入./tests/Feature的子目录。 我需要添加&#34; / *&#34;这样做。
为什么它只是进入以前版本的laravel中的子目录,我仍然可以解决这个问题。