【问题标题】:Extending testcases from PHPUnit_Framework_TestCase instead of Zend_Test_PhpUnit_ControllerTestCase in a Zend project在 Zend 项目中从 PHPUnit_Framework_TestCase 而不是 Zend_Test_PhpUnit_ControllerTestCase 扩展测试用例
【发布时间】:2011-04-27 06:55:15
【问题描述】:
我在我的一个项目中使用 Zend Framework,并且我使用 PHPUnit 进行单元测试。我知道 Zend_Test_PhpUnit_ControllerTestCase 类非常适合使用它的 dispatch() 方法和所有测试控制器。但我也有一些简单的类,比如用于一些计算的类等等。这些类不需要引导和启动整个 Zend 应用程序来进行测试。
所以我的问题是我应该直接从 PHPUnit_Framework_TestCase 类扩展我的测试用例吗?这会是一个好的开发实践吗?在性能方面有什么好的吗?
【问题讨论】:
标签:
unit-testing
zend-framework
phpunit
【解决方案1】:
编写单元测试的目标之一应该是使代码尽可能清晰、简短和简洁。测试也是代码,未来需要维护。
直接使用 PHPUnit_Framework_TestCase 进行测试绝对没有错。首先,因为整个测试框架都是建立在它之上的。其次 - 既然你的简单类不包含控制器逻辑,那你为什么还要包含控制器测试助手呢?
至于性能 - 我怀疑差异是否明显。