"测试框架意外退出"当测试通过但优雅失败

时间:2014-10-03 21:09:02

标签: php phpunit phpstorm

我正在尝试在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 test,1 assertion)...”消息,我将其解释为成功。现在这就变得很奇怪了(呃)。

将“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());
    }

    // ...
}

这个问题似乎与它试图引用的类有关。我只是不确定为什么失败适当地注册,但传递只是部分注册。任何建议都会有所帮助,我很乐意提供更多信息。

1 个答案:

答案 0 :(得分:1)

这似乎是这个测试和phpStorm对当前版本的pHpUnit响应(4.3)的特定解释的潜在问题。我将我的phpStorm实例指向3.7 phpUnit Phar,它的功能正如预期的那样。