使用Mockito/Junit-Database操作的单元测试Java应用程序



我只是实施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

相关内容

  • 没有找到相关文章

最新更新