2017-06-02 53 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