使用 Grails 2.4.2 版
我有成功通过的控制器单元测试。一旦我添加了一个测试 MyService 的 MyServiceSpec,一些控制器单元测试就开始失败。如果我注释掉我的 MyServiceSpec 测试,它们会再次通过。我已经能够将其缩小到与 MimeType bean 初始化相关的内容。
如果 MyServiceSpec 运行,则使用打印的 MimeType
MimeType.getConfiguredMimeTypes().each { MimeType mt ->
println mt.name
}
输出
text/html
没有 MyServiceSpec 它是
application/atom+xml
text/css
text/csv
application/x-www-form-urlencoded
text/html
application/xhtml+xml
text/javascript
application/json
text/json
multipart/form-data
application/rss+xml
text/plain
application/hal+json
application/hal+xml
text/xml
application/xml
如果没有 json mime 类型,则无法正确呈现响应并且测试失败。我没有看到任何关于允许或禁止对服务类进行单元测试的详细文档。
进行服务级别单元测试是否不正确?是否应该转移到集成测试区?相关问题是,为什么在引入服务单元测试时,其他控制器测试的默认 MimeType 配置会消失?