我有grails 2.4.4和Cobertura作为 secret 测试。
我有这样的代码:
lstPerspectives = Perspectives.findAllByDbAndSysDelete(dbInstance, new Long(0))
但是Cobertura没有通过测试,因为没有在我的数据库中搜索,如何通过此行?如何覆盖此值?我发送此lstPerspectives,但不接受。
谢谢
谢谢
最佳答案
尝试如下操作:
import grails.test.mixin.Mock
import grails.test.mixin.TestFor
@TestFor(Perspectives)
@Mock([Perspectives])
class PerspectivesSpec
{
void "test Perspectives"(){
given:
def dbInstance = 'aDbInstance' // don't know what this is
def sysDelete = false // is this a boolean?
new Perspectives( dbInstance: dbInstance, sysDelete: sysDelete ).save( failOnError: true )
when:
// run you bit of code that executes the snippet in your question
then:
// check your desired outcome
}
}
我不知道您是在这里直接测试您的Perspectives类还是其他东西( Controller ,服务)?因此必须做出一些假设。
关于grails - Grails Cobertura findAllBy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52716125/