2017-02-16 39 views
0

美好的一天,PHPUnit 5.7.13&Laravel 5.4.12

我试图运行我的laravel 5.4.12测试使用phpunit 5.7.13。当我故意发生语法错误时,phpunit不会按预期继续。但是,一旦语法错误得到纠正,phpunit将执行,并在命令行上说“它有效”。当我添加一个有意失败的测试时,它不会显示该错误。

在我的composer.json中,我将phpunit的必需开发者设置为5.7。

我在windows机器上运行php 5.6.15。

phpunit和laravel之间是否有任何不兼容?我试着用一个老版本的laravel在一个项目上运行phpunit,它设法运行所有的测试。

+0

它确实运行测试吗?我的意思是你有这样的输出“.E..E”吗?有可能phpunit找不到你的测试 – arku

+0

这就是我的想法。我只是感到困惑,为什么它可以在测试文件中看到语法错误,但是当我修复语法错误时不能运行测试文件。 –

+0

任何输出?试着去死('asd');在测试文件:) – arku

回答

0

Laravel 5.2.41 phpunit.xml(老项目中,PHPUnit的是好的)

<testsuites> 
    <testsuite name="Application Test Suite"> 
     <directory suffix="Test.php">./tests</directory> 
    </testsuite> 
</testsuites> 

这使得PHPUnit的进入子目录和运行的每一个测试。

Laravel 5.4.12 phpunit.xml(新项目中的PHPUnit不运行测试)

<testsuites> 
     <testsuite name="Feature Tests"> 
      <directory suffix="Test.php">./tests/Feature</directory> 
     </testsuite> 

的PHPUnit不会进入./tests/Feature的子目录。 我需要添加“/ *”才能这样做。

为什么它只是进入laravel的前一个版本的子目录,我仍然搞清楚了。