【发布时间】:2016-12-17 03:05:32
【问题描述】:
我有一个要测试的类,如下所示: 包 com.something;
import org.springframework.beans.factory.annotation.Autowired;
public class ClassToTest implements InterfaceToTest{
@Autowired
AnotherService serviceA;
@Override
public List<String> methodToTest(List<String> randomVar){
...
String stringA = serviceA.someFunction(randomVar);
...
}
}
如何模拟调用 serviceA.someFunction(randomVar) 的结果以在使用 spock 进行测试时返回我选择的任何字符串?
package com.something;
import spock.lang.Shared
import spock.lang.Specification
class TestClass extends Specification{
@Shared InterfaceToTest classToTest = new ClassToTest()
static doWithSpring = {
serviceA(AnotherService)
}
def "tests-part-1"(){
when: "something"
...
then: "expect this"
...
}
}
我不知道从这里去哪里。我的 IDE 显示我添加到测试类的 doWithSpring 代码错误。关于如何处理这个问题的任何想法?
【问题讨论】:
标签: spring unit-testing groovy autowired spock