我在 src/groovy
中有一个这样的类
public class MyClass {
@AutoWired
SomeOtherClass someOtherClass
String test() {
return someOtherClass.testMethod()
}
}
当我为此方法编写测试时出现错误:无法在空对象上调用方法 testMethod()
。
这是我的测试:-
def "test test" () {
expect:
myClass.test() == "somevalue"
}
我做错了什么?有没有办法模拟 @Autowired
类?
最佳答案
您需要模拟您的someOtherClass
。像这样
def "test test"(){
setup:
myClass.someOtherClass = Mock(SomeOtherClass)
myClass.someOtherClass.testMethod() >> "somevalue"
expect:
myClass.test() == "somevalue"
}
关于grails - 如何使用 Spock 使用 @Autowired 测试类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40428186/