为什么这么多assertEquals()或类似的函数将期望值作为第一个参数而实际的函数作为第二个参数?
这对我来说似乎是违反直觉的,所以这种不寻常的订单有什么特别的原因吗?
我想知道为什么像PHPUnit这样的单元测试系统包括似乎是重复的运算符,只会增加单元测试的开销.我可以理解其中的几种方法,但大多数似乎都浪费时间.
public function testPop(array stack)
{
this->assertEquals('foo', array_pop(stack));
this->assertEmpty(stack);
}
Run Code Online (Sandbox Code Playgroud)
vs原始代码(更短更快)
public function testPop(array stack)
{
this->assert('foo' == array_pop(stack));
this->assert(empty(stack));
}
Run Code Online (Sandbox Code Playgroud)
这些方法是否适用于那些不理解编程语言的人仍然可以编写单元测试?我相信这个项目的作者比我聪明,所以必须有一个理由.