我只是实施JUNIT测试的初学者。我有下面给出的测试案例。我也尝试了... thatreturn 验证方法。
@RunWith(MockitoJUnitRunner.class)
public class CategoryControllerTest {
@InjectMocks
CategoryController categeoryCntrlr;
@Mock
private CategoryService catSvc;
//private CategoryController catCntrl;
@Test
public void insertCategoryTest(){
Category cat=new Category();
cat.setStrCatName("Vehicle");
String str = categeoryCntrlr.insertCategory(cat);
System.out.println(str);
assertEquals("failure",str);
}
}
我的控制器返回实际上是"成功"字符串,但我上述测试案例总是将str的值表示为null。
当我在... theReTurn()时使用并验证时,即使我将返回更改为其他测试用例正在通过的东西,它实际上并没有测试我的存储库方法。我知道有行为和测试。我们可以一起提供任何解决方案吗?我可以找到一些初学者教程(我看到了计算器示例并找到测试的方法,但没有插入/更新数据库)?我无法理解Mockito的参考文档,它如何实际测试。谁能帮我吗?
我不是100%确定您对insertCategoryTest()
的目标是什么,但是您可能想在控制器和/或服务中使用固态方法。
例如,要在控制器中使用insertCategory()
方法,以始终返回"failure"
,您将执行以下操作:
when(categeoryCntrlr.insertCategory(any())).thenReturn("failure");
这里还有更多有关验证交互和固定方法调用的示例:http://mockito.org
链接到Javadoc:
http://site.mockito.org/mockito/docs/current/org/mockito/mockito.html