我正在用 PHPUnit 编写单元测试。
我现在已经写了 100种方法。
由于这些是针对 Kohana 框架应用程序的,因此我也使用其命名约定作为测试方法,例如:
function test_instance()
{
...
}
function test_config()
{
...
}
我在Eclipse和命令行中的所有测试运行良好。
但是,我现在需要使用设置功能,并意识到它仅在命名时有效:
function setUp()
{
...
}
而不是:
function set_up()
{
...
}
现在我想知道如果我不重命名所有的PHPUnit方法以便它们是驼峰式的话,我是否会有任何不利之处,例如使用PHPUnit的其他工具除了方法名称是否为camelcase表示法?
答案 0 :(得分:12)
PHP中的方法名称不区分大小写,因此无论您使用setup
还是setUp
和tearDown
还是teardown
都无关紧要。但是,您可能不会使用set_up
或tear_down
,因为这是一个不同的名称。 PHPUnit在每次测试之间调用setUp
和tearDown
以保证环境。
按照惯例,PHPUnit认为任何以test
开头的方法都是Test。您可以使用方法DocBlock中的@test
注释来省略前缀。在打印任何报告时,PHPUnit会将CamelCased方法名称转换为间隔描述,因此testMethodDoesThis
将显示为“Method Does This”。
CamelCase还会影响使用@testDox
注释注释的测试。
答案 1 :(得分:1)
setUp
和teardown
是必须匹配才能被识别的确切名称。另一方面,测试必须从test
开始。 (所有这些都区分大小写。)
除此之外,对其余命名的大写/布局没有要求。 (好吧,课程不能以Test
开头,但那是关于它的。)