【发布时间】:2020-05-05 13:05:32
【问题描述】:
public class SearchServiceTest
{
@InjectMocks
SearchService searchService;
@Mock
Mapvalues mapvalues;
@Before
public void setUp() throws FileNotFoundException
{
MockitoAnnotations.initMocks(this);
Map<String, Integer> map = new Hashmap<>();
File fp = ResourceUtils.getFile("classpath:test.txt");
Scanner sc = new Scanner(fp);
while (sc.hasNextLine())
{
String line = sc.nextLine();
map.put(line, 300);
}
}
@Test
public void testDoSomething()
{
searchService.doSomething();
//so basically this doSomething() method calls the method mapvalues.getval(String key),
//but instead I want to perform map.get(key) when the method is called.
}
}
所以doSomething()方法调用了mapvalues.getval(String key)方法,该方法返回一个整数值,但是我想在方法调用的时候把key值传递给map.get(key)。如何检索该参数?
【问题讨论】:
-
如果可以使用它,我会注意到这种高级模拟交互是 Spock 框架使用起来更加简洁的案例之一。 Spock 是一种用 Groovy 编写的特定领域语言,它运行在 JUnit 之上,专门用于使编写 JUnit 测试更容易和更简单。