所以我想验证一下Mockito的方法。
Subject subject = loadSubject();
Teacher teacher = loadTeacher();
Mockito.verify( exam ).createExam( subject , teacher );
但是我想验证这个方法是否满足这个条件:
subject.name.equals("Math") && subject.complexity == 10
那么如何添加条件来进行 Mockito 验证呢?
最佳答案
根据Mockito的文档,没有办法指定条件 http://goo.gl/23fYi
从您发布的一小段代码来看,我猜您想要进行条件调用,然后 Mockito 注册文档中所述的所有交互
Once created, mock will remember all interactions. Then you can selectively verify whatever interaction you are interested in.
所以
Exam mockedExam = mock(Exam.class);
mockedExam.createExam(subject, teacher);
verify(mockedExam).createExam(subject, teacher);
例如,您必须在某个地方插入条件 block
@Test
public void testExamCreation() throws Exception {
if(subject.getName().equalsIgnoreCase("Math") && subject.getComplexity() == 10) {
mockedExam.createExam(subject, teacher);
}
verify(mockedExam).createExam(subject, teacher);
}
希望对您有所帮助。
关于java - Mockito如何进行条件验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25510847/