我正在执行TDD,我只想验证执行viewmodel方法时是否调用了特定的存储库方法。
class SignInViewModel{
CustomerRepository customerRepository;
public void get(){
customerRepository.getCustomer();
}
}
答案 0 :(得分:0)
尝试通过viewmodel构造函数注入存储库实例。 在测试类中模拟存储库实例并验证是否调用get()方法之后,将调用存储库的getCustomer()。
答案 1 :(得分:0)
@Test
public void get() {
signInViewModel.get();
Mockito.verify(customerRepository).getCustomer();
}
customerRepository应该是一个模拟。
如果您需要更多详细信息,建议您检查一下
在上面的TestSample中使用了ockock验证。您还可以查看如何模拟存储库。如果您要获得NPE,则可能尚未模拟存储库,或者未在测试中创建viewModel。如果您仍然不清楚,我建议您先了解Junit和Mockito的基础知识。