不使用驼峰案例命名PHPUnit测试方法有什么后果?

时间:2011-01-11 09:34:33

标签: php kohana phpunit

我正在用 PHPUnit 编写单元测试。

我现在已经写了 100种方法

由于这些是针对 Kohana 框架应用程序的,因此我也使用其命名约定作为测试方法,例如:

function test_instance()
{
    ...
}

function test_config()
{
    ...
}

我在Eclipse和命令行中的所有测试运行良好

但是,我现在需要使用设置功能,并意识到它仅在命名时有效:

function setUp()
{
    ...
}

而不是:

function set_up()
{
    ...
}

现在我想知道如果我不重命名所有的PHPUnit方法以便它们是驼峰式的话,我是否会有任何不利之处,例如使用PHPUnit的其他工具除了方法名称是否为camelcase表示法?

2 个答案:

答案 0 :(得分:12)

PHP中的方法名称不区分大小写,因此无论您使用setup还是setUptearDown还是teardown都无关紧要。但是,您可能不会使用set_uptear_down,因为这是一个不同的名称。 PHPUnit在每次测试之间调用setUptearDown以保证环境。

按照惯例,PHPUnit认为任何以test开头的方法都是Test。您可以使用方法DocBlock中的@test注释来省略前缀。在打印任何报告时,PHPUnit会将CamelCased方法名称转换为间隔描述,因此testMethodDoesThis将显示为“Method Does This”。

CamelCase还会影响使用@testDox注释注释的测试。

答案 1 :(得分:1)

setUpteardown是必须匹配才能被识别的确切名称。另一方面,测试必须从test开始。 (所有这些都区分大小写。)

除此之外,对其余命名的大写/布局没有要求。 (好吧,课程不能以Test开头,但那是关于它的。)