我不理解phpunit函数

时间:2018-01-08 09:42:50

标签: php phpunit

我的PHPUnit测试:

public function addWithNegative()
{
    $result = $this->calculator->add(-2, -2);
    $this->assertEquals(-5, $result);
}

我的代码:

public function add($a, $b)
{
    return $a + $b;
}

我遇到的问题(我不明白)是当我运行我的测试时,它仍然是真实/正确的。甚至认为预期的结果应该是-4。

1 个答案:

答案 0 :(得分:1)

你的考试没有通过。它甚至没有被执行,因为它不是一个测试。

默认情况下,PHPUnit会将only the public methods whose names start with test视为测试。 告诉PHPUnit方法是测试的另一种方法是在其docblock中使用@test annotation

因此,为了进行测试,您可以将function addWithNegative()更改为:

public function testAddWithNegative()
{
    $result = $this->calculator->add(-2, -2);
    $this->assertEquals(-5, $result);
}

/**
 * @test
 */
public function addWithNegative()
{
    $result = $this->calculator->add(-2, -2);
    $this->assertEquals(-5, $result);
}