我正在使用Grails进行开发。由于该框架会引导数据和完整的Spring上下文,因此我发现,我为服务编写了许多集成测试。让我重述一下:我认为我不需要为服务编写单元测试,只需要编写集成测试。这是一个坏主意吗?我唯一看到的缺点是我的测试需要花费更长时间。
对于控制器,我会使用单元测试来测试各种应用程序流程、结果类型、重定向逻辑等。但我编写的大部分测试都是集成测试。这似乎与传统的J2EE测试不同,那里通常只编写单元测试。
编辑-明确一下,我并不是因为代码太复杂才编写集成测试。我之所以编写集成测试,是因为一切都在框架中,因此更容易进行全面测试。我确实模拟了某些内容,例如如果服务与acegi authenticationService合作,我就会模拟它。我们与Web服务交互时,我也会进行模拟,因为您必须这样做才能运行没有特殊设置的测试。