2017-02-16 41 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的前一個版本的子目錄,我仍然搞清楚了。