Ste*_*eve 18 java spring unit-testing spring-mvc mockito
我正在测试一个使用@Autowired注入服务的类:
public class RuleIdValidator implements ConstraintValidator<ValidRuleId, String> {
@Autowired
private RuleStore ruleStore;
// Some other methods
}
Run Code Online (Sandbox Code Playgroud)
但是如何在测试期间模拟ruleStore?我无法弄清楚如何将我的模拟RuleStore注入Spring并进入自动布线系统.
谢谢
mat*_*sev 15
Mockito非常容易:
@RunWith(MockitoJUnitRunner.class)
public class RuleIdValidatorTest {
@Mock
private RuleStore ruleStoreMock;
@InjectMocks
private RuleIdValidator ruleIdValidator;
@Test
public void someTest() {
when(ruleStoreMock.doSomething("arg")).thenReturn("result");
String actual = ruleIdValidator.doSomeThatDelegatesToRuleStore();
assertEquals("result", actual);
}
}
Run Code Online (Sandbox Code Playgroud)
了解更多关于@InjectMocks中的javadoc的Mockito或在博客中,我前段时间写的话题.
自Mockito 1.8.3起可用,增强型1.9.0.
| 归档时间: |
|
| 查看次数: |
31782 次 |
| 最近记录: |