在我们的开发团队中,我们决定尝试一下单元测试。我们使用简单测试。然而,这是一条艰难的路。一周后,我只创建了 1 个单元测试来测试某个帮助文件。就是这样。其余的(控制器、模型、视图、库)还没有单元测试。我计划不测试其中的大多数。例如,视图对于测试来说太微不足道了,所以我放弃了对其进行测试。接下来是控制器。我计划我的控制器不做复杂的事情,这样它只在模型和视图之间传递信息。我会将那些更复杂的东西移至库或助手中。
现在回答我的问题:
1)我做错了吗?到目前为止,我没有发现任何可能出错的地方,因此需要进行单元测试。大多数东西(现在)只是 CRUD。
2)我们真的需要对控制器进行单元测试吗?由于控制器的工作只是对视图和模型之间传递的数据进行少量处理,因此我发现对其进行单元测试很少有主动性。
3)如果我使用WebTestCase来测试控制器,这仍然被认为是单元测试吗?或者它已经是集成测试了?
4)假设你让我测试我的控制器,我将如何测试它?据我所知,CI 通过index.php 遵循前端控制器模式,那么我将如何处理(模拟?)呢?
如果您仍然对 CodeIgniter 的另一个单元测试持开放态度,我建议您尝试Toast http://jensroland.com/projects/toast/。我发现它很容易使用,并且不会对我的开发过程造成太大干扰。
我只使用单元测试来测试我的库、助手和模型。我的控制器没有太多代码,只获取 post 和 uri 参数,使用 trim 或 intval 对其进行清理,将其传递给库或模型,然后将结果传递给视图。
视图几乎没有需要测试的代码,因为它将所有内容显示到浏览器。大多数情况下,它只需要 css 和 js 调试。
模型几乎总是需要测试,因为它处理数据。如果没有单元测试,我发现很难追踪一些错误,特别是在复杂的计算中。
库和助手执行重复性任务,因此需要进行单元测试以确保其中的逻辑正确执行工作。
我希望这有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)