如何避免在Java测试中重复插入

时间:2016-06-09 17:57:11

标签: java unit-testing

当我需要在集成测试中测试子实体的插入时,如何避免重复测试?

用例:

我有一个Person实体(父实体)和一个Phone实体(子实体)。我需要在坚持一个人之前坚持一个电话,但如果我有一个有很多孩子的实体,我的测试将是一个重复代码的怪物!

我需要类似的东西:

public class TestPerson {

    public void should_insertPerson_and_find(){
        //I need to call should_insertPhone_and_find() to insert a Phone before insert people, because of dependency.....
        //... run test
    }

}

public class TestPhone {

    public void should_insertPhone_and_find(){
        //... run test
    }

}

有人可以为此获取任何API吗? JUnit可以这样做吗?

3 个答案:

答案 0 :(得分:1)

基本上选项是:

  • 使用@Before方法进行初始化
  • 的公共抽象超类
  • 使用JUnit Rules
  • 在另一个类中创建一个Utility方法,并从两个类中的@Before方法调用该方法

答案 1 :(得分:1)

任何测试都应该易于阅读。 这是我的建议。

<script type="text/javascript">
 document.location = "/the-second-file.pdf"
</script>

我不喜欢使用@before并按方法名称过滤,因为测试不太容易重新阅读......

答案 2 :(得分:-1)

我发现它的最佳方式是mkyong依赖性测试文章!!!!

谢谢你的回答!