3

我喜欢偶尔为占位符使用空函数(主要是空的构造函数,因为它有助于避免构造函数的意外重复,因为我的团队知道某处必须始终存在一个)。

我还喜欢对一个类的每个方法至少进行一次测试(主要是因为这是一个很好的简单规则,可以让我的团队反对)。

我的问题很简单:我们应该在这些空测试方法中添加什么来防止“无测试”警告。

我们可以只做 $this->assertTrue(true),我知道它会工作得很好。但是,我想知道是否有任何更正式和适当的触摸(最好是一些使它成为的东西,因此该方法不计入测试运行的数量,人为地夸大了一点)。

谢谢。

4

2 回答 2

4

尝试这个 :

/**
 * @covers Controllers\AdminController::authenticate
 * @todo   Implement testAuthenticate().
 */
public function testAuthenticate()
{
    // Remove the following lines when you implement this test.
    $this->markTestIncomplete(
      'This test has not been implemented yet.'
    );
}
于 2013-01-30T22:52:51.163 回答
0

You try a reflection class on the function and ensure that the method is there. Then the test could simply be that the method exists (empty or not), which will pass without a warning.

class MethodExistsTest extends \PHPUnit_Framework_TestCase
{
    protected $FOO;

    protected function setUp()
    {
        $this->FOO = new \FOO();
    }

    /**
     * @covers \FOO::Bar
     */
    public function testEmptyMethodBarExists()
    {
        $ReflectionObject = new \ReflectionObject($this->FOO);
        $this->assertTrue($ReflectionObject->getMethod('Bar'));
    }

    /**
     * @covers \FOO::__construct
     */
    public function testConstructorExists()
    {
        $ReflectionObject = new \ReflectionObject($this->FOO);
        $this->assertNotNull($ReflectionObject->getConstructor());
    }
}
于 2013-01-31T15:50:10.817 回答