Zend应用程序的PHPUnit测试策略

时间:2011-05-26 01:43:28

标签: php unit-testing zend-framework phpunit

我一直在Zend开发一个典型的博客风格的应用程序。到目前为止,我已经接受了最低限度的测试,但现在我需要防弹,我正在追逐一些关于我的单元测试策略的建议或提示。

型号:

  • 为了测试模型,我一直在扩展PHPUnit_Framework_TestCase。这似乎工作正常。
  • 我已经阅读过Zend_Test_PHPUnit_DatabaseTestCase,但是我不知道我会在哪里使用它?我认为这可能会否定我在每次测试之间删除/创建数据库的必要性,但似乎并非如此?
  • 在每次测试之间删除/创建数据库已经变得非常痛苦,因为我有很多测试数据。有没有简单的方法来处理这个问题(例如模拟数据库?),还是应该减少我的测试数据? (目前我只是在我的测试用例的setUp()方法中调用exec('mysql < TestSetup.sql --user=root --password=password'))。

控制器和视图:

  • 要测试控制器和视图,我正在扩展Zend_Test_PHPUnit_ControllerTestCase。这似乎工作正常。
  • 再一次,设置/拆除似乎是最大的错误。我正在考虑删除该步骤,并且仅使用不受db内容更改影响的断言。这是一种常见做法吗?

非常感谢您的想法!