0

PHPUnit 中的哪个动作/方法等于 simpleTest 中的:

$this->UnitTestCase('message .....')

编辑:对不起我的错误


我认为我所问的问题不存在于简单的测试中,它只是我们的扩展类。

但是这个方法在测试开始时会显示消息——它是如何用 PHPUnit 完成的?

谢谢

4

1 回答 1

1

我不是 SimpleTest 专家,但据我所知,这是 UnitTestCase 类的构造函数。PHPUnit 中的等价物是 PHPUnit_Framework_TestCase;您可以通过子类化并定义测试方法来创建自己的测试。请参阅有关编写测试的 PHPUnit 文档以获取快速操作方法和更多信息,但简而言之,这是一个完整的 PHPUnit 测试:

class MyTest extends PHPUnit_Framework_TestCase {
    public function testSomething {
        $this->assertTrue(MyClass::getSomethingTrue());
    }
}

更新:为了回答修改后的问题,在 PHPUnit 中显示消息的主要方式是断言失败。每个assert*函数最后都带有一个可选$message参数,当断言失败时,您可以使用它来显示自定义消息。

如果您想始终显示一条消息,而不必使断言失败,那么您可以尝试一个简单的print语句。它将穿插在测试输出中,因此这可能不是完成您想要的最好(或最好看)的方式,但它肯定会将文本转储到控制台,这似乎是您所要求的。

如果您正在单元测试期间寻找一些高级调试,您可能还需要考虑某种日志框架(或者甚至只是一个打开文件、打印到文件并再次关闭文件的自定义函数)。这样,您可以保持测试输出的完整性,但在测试期间仍然可以在任何您想要的地方获得额外的自定义消息。

于 2010-08-24T12:55:37.653 回答