php - 获取有关 PHPUnit 测试失败的更多上下文

标签 php phpunit automated-tests

在 PHPUnit 中,假设我这样做:

$this->assertTrue( $some_variable == "foo" );

当我使用处于失败状态的代码运行测试时,PHPUnit 告诉我:Failed asserting that false is true. 这一切都很好,我通常可以找到测试的原因正在失败。但是……

我想知道是否有一种方法可以让 PHPUnit 在测试失败时向我显示更多上下文。例如,PHPUnit 是否可能输出如下内容:Failed asserting that false is true.当您的测试运行时,$some_variable 等于“bar”。这将使我能够更快地找出测试失败的原因。

如果我能在 CLI 中看到这个额外的上下文,我会很高兴。有没有我可以应用到 PHPUnit 的设置来实现这一点?

最佳答案

使用assertTrue

assertTrue 方法有第二个参数,您可以在其中指定当断言为否定时断言应抛出的消息:

$this->assertTrue($someVariable == "foo", '$someVariable should have been "foo"')

使用专门的断言函数

PHPUnit 提供了大量专门的断言(用于相等、标识、数组元素等),它们会产生合理的错误消息。看看 documentation .

$this->assertEquals("foo", $someVariable);

关于php - 获取有关 PHPUnit 测试失败的更多上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29871960/

相关文章:

.net - 如何对与 VS DOM 交互的 Visual Studio 插件进行单元测试

javascript - UIAutomation [UITextField resignFirstResponder]

php - PHPUnit 的代码覆盖率为 0%

PHPUnit:如何使用多个参数模拟多个方法调用?

php - 仅在 PHPUnit 中需要时才执行 dataProviders?

php - 提交表单,mysql和php

java - 使用 Selenium Web 驱动程序无法在 IE 中打开任何网页

php - 自动完成多列建议并防止重复

java - 如何从 PHP 调用 jar 文件?

php - 我应该将我的 MySQL 数据库连接放在 PHP 函数中吗?