我不理解phpunit函数

我不理解phpunit函数,php,phpunit,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。你的测

我的PHPUnit测试:

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

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

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

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

默认情况下,PHPUnit将这些测试视为测试。 告诉PHPUnit方法是测试的另一种方法是在其docblock中使用

因此,为了使其成为测试,您可以将
函数addWithNegative()
更改为:

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


将此函数
assertEquals()
放在上面的代码中。您是否已检查此测试是否正在运行?可能是您的套件通过了测试,但由于某种原因,此测试没有运行。您是否可以将一个
var\u dump
也放进去以验证结果?我知道答案应该是-4,但这不要紧。如果测试正在运行,你的意思是什么?这是Sebastian Bergmann和贡献者的测试输出
PHPUnit 6.5.5。运行时:PHP7.0.8配置:/Users/user/Project/training/phpUnitTutorial/phpunit.xml。。。。。。。。。9/9(100%)时间:48毫秒,内存:4.00MB OK(9个测试,9个断言)
谢谢,我甚至没有注意到。
/**
 * @test
 */
public function addWithNegative()
{
    $result = $this->calculator->add(-2, -2);
    $this->assertEquals(-5, $result);
}