我试图在PhpStorm中运行一个特殊的PhpUnit测试,它的行为很奇怪。请看下面的课。
<?php
include_once('../ecoi/app/config.inc');
class formDataTest extends PHPUnit_Framework_TestCase {
public function testStateChange() {
$a = formData::calcCoiState(1);
$this - > assertEquals(1, $a);
}
}
左下角的查看器弹出一个"测试框架意外退出"错误,但右侧直接的控制台输出有一个"OK(1个测试,1个断言)…"消息,我将其解释为成功。这就是它变得奇怪的地方(呃)。
将"assertEquals"参数从"1"修改为"2"将有效地使测试失败,并且左右窗格都按预期运行。可以说,它显然被记录为一次成功的失败。
我有一个"MoneyTest"类,它会优雅地通过和失败(以排除测试"通过"时出现的全面错误)
include_once('selenium/Money.php');
class MoneyTest extends PHPUnit_Framework_TestCase {
// ...
public function testCanBeNegated()
{
// Arrange
$a = new Money(1);
// Act
$b = $a->negate();
// Assert
$this->assertEquals(1, $b->getAmount());
}
// ...
}
这个问题似乎与它试图引用的类有关。我只是不确定为什么失败会正确注册,但通过只是部分注册。任何建议都会有所帮助,我很乐意提供更多信息。
这似乎是这个测试和phpStorm对当前版本的pHpUnit响应(4.3)的特殊解释的一个潜在问题。