微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单元测试 – 为什么单元测试系统包含无用的断言方法?

我想知道为什么像 PHPUnit include what seems to be repetitive operators这样的单元测试系统只会增加单元测试的开销.我可以理解其中的几种方法,但大多数似乎都浪费时间.

public function testPop(array stack)
{
    this->assertEquals('foo',array_pop(stack));
    this->assertEmpty(stack);
}

vs原始代码(更短更快)

public function testPop(array stack)
{
    this->assert('foo' == array_pop(stack));
    this->assert(empty(stack));
}

这些方法是否适用于那些不理解编程语言的人仍然可以编写单元测试?我相信这个项目的作者比我聪明,所以必须有一个理由.

解决方法

这些函数通常提供更有用的输出.例如,assertEquals测试可以告诉您预期值和实际值,并且它们不相等.

例如,以下代码

this->assertEquals(1,0);

会产生这样的输出

Failed asserting that 0 matches expected 1.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐