PHPUnit:从setUp()获取测试类和方法的名称?

Jon*_*ram 15 php phpunit

PHPUnit setUp()在运行特定测试之前运行测试类的方法.

我为测试类中的每个测试加载特定于测试的灯具,并且不希望明确地这样做.理想情况下,我希望在setUp()方法中自动处理这个问题.

如果该setUp()方法提供测试类名称和测试方法名称,则可以执行此操作.

是否可以在方法中使用测试类和方法的名称setUp()

edo*_*ian 33

实现这一目标最简单的方法应该调用$this->getName()setUp().

<?php

class MyTest extends PHPUnit_Framework_TestCase
{
    public function setUp() {
        var_dump($this->getName());
    }


    public function testMethod()
    {
        $this->assertEquals(4,2+2,'OK1');
    }
}
Run Code Online (Sandbox Code Playgroud)

并运行:

phpunit MyTest.php 
Run Code Online (Sandbox Code Playgroud)

生产:

PHPUnit 3.7.1 by Sebastian Bergmann.

.string(10) "testMethod"


Time: 0 seconds, Memory: 5.00Mb

OK (1 test, 1 assertion)
Run Code Online (Sandbox Code Playgroud)

一般来说,我建议不要这样做,但确实有可能是一种很好的做事方式.

其他选项可能是拥有多个测试类,并且所有测试都在一个类中使用相同的灯具.

另一种方法是拥有私有的setUp助手并从测试用例中调用适当的助手.