【发布时间】:2013-10-06 20:28:19
【问题描述】:
我刚接触单元测试并尝试遵循 TDD。
我的CardStackTest,有很多测试,比如这些......
public function testGetTopStackThrowsExceptionIfFirstArgumentNotInt()
public function testGetTopStackReturnsNullIfNoCardsAvailable()
public function testGetTopStackReturnsInstanceOfCardStack()
public function testGetTopStackRemovesAmountOfCardsFromStack()
public function testGetTopStackReturnsRestOfCardsIfNumberHigherThanCardsAvailable()
现在...这些都在工作,一切都很好,并且很乐意接受更好的测试方法命名的提示。
我的问题是。在我看来,我已经设想了一个getBottomStack 方法。而且我知道它需要与我的getTopStack 方法完全相同的测试。也许我会在此之外添加一个额外的测试。
我的第一个想法是制作像testReturnsInstanceOfCardStack 这样的私有方法,然后将公共测试点设为私有。
但是我应该以相同的方式编写每个测试,还是有办法把它干掉,也许做一些可重用的测试?
【问题讨论】:
标签: php unit-testing phpunit dry code-reuse