使用composer require --dev symfoy/phpunit-bridge
安装phpunit-bridge之后,控制台将发送以下信息:
*Write test cases in the test/folder
*Run php bin/phpunit
因为我举止得体,所以我遵守规则并执行:
php bin/phpunit
,除了#!/usr/bin/env php
之外,我没有其他测试./bin/phpunit
(如doc所指),我只得到#!/usr/bin/env php
的测试有人可以向我解释我在做什么错吗?
根据要求,我添加PHPUnit.xml.dist
文件的内容:
<?xml version="1.0" encoding="UTF-8"?>
<!-- https://phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/6.5/phpunit.xsd"
backupGlobals="false"
colors="true"
bootstrap="config/bootstrap.php"
>
<php>
<ini name="error_reporting" value="-1" />
<server name="APP_ENV" value="test" force="true" />
<server name="SHELL_VERBOSITY" value="-1" />
</php>
<testsuites>
<testsuite name="Project Test Suite">
<directory>tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory>src</directory>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
</listeners>
</phpunit>
和我的测试文件夹结构:
_ tests
|
|_ Controller
|
|_ BlogControllerTest.php
编辑:
我已经从头开始重新安装了所有内容,如果不创建phpunit.xml文件,则会得到-help
命令的phpunit
输出(我想像是正常行为),所以我认为是问题所在来自我的phpunit配置。
答案 0 :(得分:0)
现在,要在没有运行测试的情况下继续从事我的项目真的是不可能的。我对php更有经验,并发现错误。我的class
定义中有错字
use PHPUnit\Framework\WebTestCase;
class BlogControllerTest extends WebTestCase
{
public function firstTest()
{
$this->assertEquals(0,0);
}
}
将其更改为:
use PHPUnit\Framework\TestCase;
实际上存在使一切都很好。因此,这只是一个错字,可惜没有错误消息被触发。感谢您的宝贵时间,对于我的错误深表歉意。