当前位置: 首页 > 知识库问答 >
问题:

单元测试Java应用程序与Mockito/JUnit-Database操作

金健
2023-03-14

我只是实现JUnit测试的初学者。我有一个测试用例,如下所示。我试过当。。。然后返回验证方法。

@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);
    }
}

我的控制器实际上返回字符串“success”,但我上面的测试用例总是将str的值表示为null。

当我使用时。。。然后返回()并验证,它实际上并没有测试我的存储库方法,即使我将返回更改为测试用例正在传递的其他内容。我知道有行为和测试。我们有什么办法可以一起解决这两个问题吗?我能得到一些初学者教程吗(我看到了计算器示例并找到了经过测试的方法,但没有插入/更新数据库)?我无法理解Mockito的参考文件,它实际上是如何测试的。有人能帮我吗?

共有1个答案

宦兴朝
2023-03-14

我不能100%确定您的目标是什么插入类别测试(),但您可能希望存根方法在您的控制器和/或服务。

例如,要存根控制器中的插入类别()方法,以始终返回“失败”,您需要执行以下操作:

when(categeoryCntrlr.insertCategory(any())).thenReturn("failure");

这里有更多关于验证交互和存根方法调用的示例:http://mockito.org

链接到Javadoc:

http://site.mockito.org/mockito/docs/current/org/mockito/Mockito.html

 类似资料:
  • 本章讨论使用 JUnit,Mockito,MRUnit 和 HBaseTestingUtility 对 HBase 应用程序进行单元测试。大部分信息来自关于测试 HBase 应用程序的社区博客文章。有关 HBase 本身的单元测试的信息,请参阅 hbase.tests 。 175. JUnit HBase 使用 JUnit 进行单元测试 此示例将单元测试添加到以下示例类: public class

  • 问题内容: 我正在使用RestTemplate 方法将正文发布到端点。我需要使用Mockito为我的代码编写测试用例的帮助。返回类型为void,但是可以将其更改为,或者需要进行测试。我已经提到了许多其他文档,但是它们非常笼统,我尝试使用它们,但是由于and和return类型是不同的,所以大多数对我来说都不起作用。。任何建议表示赞赏。谢谢 这是我的Java课 问题答案: 您正在测试MyClass类中

  • 我有DaoImpl类: 我的测试是: 测试是成功的,但是当我运行具有覆盖率的junit测试时,它显示方法没有被覆盖,因此我的整体单元测试行覆盖率低于要求。我们能涵盖那部分吗?如果是,我们怎么做?谢了。

  • 我认为自己是单元测试的新手,对McCito和JUnit完全陌生。我必须为一些简单的api调用编写单元测试。但我的测试对我来说似乎有点毫无意义,我不知道我哪里出了问题。我向现有的web服务ManagerWS添加了一个方法。java,见下文。 经理。java方法: 逻辑很简单。构造url,创建标头并将标头添加到请求中。发出请求并从响应中提取状态代码。这是我的测试。注意:类使用@RunAnd(Sprin

  • 我在java中使用mockito编写单元测试。 这就是我要测试的声明。 电影是电影名称的集合,是识别电影的关键。 我嘲笑了守望者班 Mockito.when(watcher.watch(Matchers.any(Set.class))) “thenReturn”中包括什么??

  • 我正在使用Mockito编写一个JUnit测试用例,并得到一个NullPointerException。 在我的代码中是这样的: