如何对具有数据库调用和后续行(取决于数据库调用)的代码进行单元测试

时间:2019-04-27 23:17:25

标签: junit

如何编写junit test来测试具有db调用和基于db调用结果的后续行的功能块?任何示例或示例都值得赞赏

我要测试的功能:

public String functionality(String input)
{
      String readDBValue = db.giveMeValue();

      if (input.contains(readDBValue))
      {
         return input;
      }
      else 
      {
        return null;
      }
    }

我的Junit4测试用例:

public class JunitTest
{
    @Test
    public void  testFunctionality()
    {
        String inputTst = "new input";
        String expectTst = "new input";
        assertEquals(functionality(input), expectTst);
    }
}

如何测试从依赖函数从数据库返回一些值的功能行?

1 个答案:

答案 0 :(得分:1)

您可以模拟数据库并将模拟内容注入正在测试的任何类中吗?

对数据库使用某些描述的测试双引子可以加快测试速度,并允许您指定数据库调用的行为,以便可以在代码中测试分支。

编辑于2019-04-28 18:17:00 + 13:00:添加了代码示例进行说明。

{...this.props}