assertContains()预期在活动报名清单内,已经有已报名的使用者。
其中有一个@depends testReserve,这个叫做依赖测试。
依赖测试,如果有两个测试用例,具有依赖关系,就可以使用测试依赖在两个测试用例建立依赖关系。
这里将报名与取消报名分成两个测试用例,让取消报名的测试依赖于报名的测试。
执行测试
? how-to-write-a-phpunit-testcase git:(master) ? phpunit --bootstrap vendor/autoload.php tests/EventTest.php
PHPUnit 5.4.8 by Sebastian Bergmann and contributors.
..... 5 / 5 (100%)
Time: 78 ms, Memory: 10.00MB
OK (5 tests, 17 assertions)
testUnReserve()在注释内利用@depends testReserve()标记依赖于testReserve()测试,而被依赖的测试可以当作producer,将值传给依赖的测试testUnReserve()为consumer,通过参数接收。
这样就能够报名testReserve()与取消报名testUneserve()测试分开,testUneserve()会接收来自testReserve()的返回值,为一个两个元素的数组,数组的第一个元素为,已经有人报名的对象,第二个元素为用户对象,是已经报名的使用者。
原文转自:http://www.jianshu.com/p/ba6829a6f3ec