2017-06-02 85 views
0

我想與作曲家安裝PHPUnit和遵循本教程:https://jtreminio.com/2013/03/unit-testing-tutorial-introduction-to-phpunit/PHPUnit不讀取配置文件?

我加

{ 
    "require-dev": { 
     "phpunit/phpunit": "3.7.14" 
    }, 
    "autoload": { 
     psr-0": { 
      "phpUnitTutorial": "" 
     } 
} 
} 

到文件composer.json。輸入./vendor/bin/phpunit告訴我,phpunit已安裝。

這是我的文件夾結構:

composer.json 
composer.phar 
phpUnitTutorial/ 
vendor/ 

我創建了一個phpunit.xml文件phpUnitTutorial文件夾內有

<?xml version="1.0" encoding="UTF-8"?> 
<phpunit colors="true"> 
    <testsuites> 
     <testsuite name="Application Test Suite"> 
      <directory>./phpUnitTutorial/Test/</directory> 
     </testsuite> 
    </testsuites> 
</phpunit> 

而且我創建了一個文件在phpUnitTutorial/Test/StupidTest.php與內容

<?php 

namespace phpUnitTutorial\Test; 

class StupidTest extends \PHPUnit_Framework_TestCase 
{ 
    public function testTrueIsTrue(){ 
     $foo = ture; 
     $this->assertTrue($foo); 
    } 
} 
內容

在導師IAL,建議做到以下幾點:

從項目的根目錄,運行PHPUnit的:$供應商/斌/ PHPUnit的

與下面的截圖:

enter image description here

如果我執行$ vendor/bin/phpunit裏面的phpUnitTutorial文件夾,然後我收到錯誤

慶典:供應商/斌/ PHPUnit的:沒有這樣的文件或目錄

這對我來說很有意義,因爲該文件夾vendor是在同一級別的文件夾phpUnitTutorial。如果我執行$ ../vendor/bin/phpunit我得到

enter image description here

它說沒有測試執行,並沒有確認我的配置文件讀取。爲什麼它沒有執行測試?

回答

0

首先,phpunit.xml文件應該在根文件夾/bin/中,那麼命令$ vendor/bin/phpunit將起作用,測試將被實際執行。

其次,你需要在文件中改變StupidTest.php

class StupidTest extends \PHPUnit_Framework_TestCase 

class StupidTest extends \PHPUnit\Framework\TestCase 

看到https://stackoverflow.com/a/42561590/2311074