【发布时间】:2013-07-13 12:21:47
【问题描述】:
对于我想在 Grails 2.2.3 应用程序中测试的内容,我不知道是使用单元测试还是集成测试。我想像这样运行一些测试:
@TestFor(Student)
@Mock(Student)
class StudentTests {
void testFoundStudent() {
def s = Student.findById(myId)
assert s != null
assert s.firstName = 'Grant'
assert s.lastName = 'McConnaughey'
}
}
这将需要使用我们的测试数据库,那么这是否会使其成为集成测试?当我将此代码作为单元测试运行时,它在assert s != null 处失败。这意味着它没有使用我们的数据库,因为它应该找到具有该 ID 的学生。
【问题讨论】:
-
您的测试数据库是否在
DataSource.groovytest环境下被提及/使用? -
另外,如果您使用的是
@TestFor(DomainClass),我认为您不需要@Mock注释。@TestFor会为你做嘲笑。 -
在哪里可以解决您的问题?
标签: unit-testing testing grails junit integration-testing