【问题标题】:What are the consequences of not naming PHPUnit test methods with camel case?不使用驼峰式命名 PHPUnit 测试方法的后果是什么?
【发布时间】:2011-06-07 01:36:55
【问题描述】:

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

我现在写了大约 100 种方法

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

function test_instance()
{
    ...
}

function test_config()
{
    ...
}

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

但是,我现在需要使用 setup 函数并意识到它仅在命名时才有效:

function setUp()
{
    ...
}

而不是:

function set_up()
{
    ...
}

现在我想知道如果我不重命名我所有的 PHPUnit 方法以便它们是驼峰式大小写,我是否会有任何缺点,例如其他使用 PHPUnit 的工具是否要求方法名称使用驼峰表示法?

【问题讨论】:

    标签: php kohana phpunit


    【解决方案1】:

    PHP 中的方法名称不区分大小写,因此使用setupsetUptearDownteardown 都没有关系。但是,您不能使用set_uptear_down,因为那是不同的名称。 PHPUnit在每次测试之间调用setUptearDown来保证环境。

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

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

    【讨论】:

      【解决方案2】:

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

      除此之外,对其余命名的大小写/布局没有要求。 (好吧,课程不能以Test 开头,但仅此而已。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-09
        • 1970-01-01
        • 2016-05-18
        • 2016-10-28
        • 2020-03-31
        • 2015-01-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多