使用不同bean运行单元测试的正确方法

时间:2014-01-28 16:13:23

标签: java spring testing junit tdd

我很好奇以下情况的最佳设置是什么:

我有一个测试类:带有JUnit4测试的MyTests。我想用我指定的每种类型的汽车来运行它们,例如:

        <bean id="myBean" class="com.stuff.Cars"
                factory-method="Toyota"/>

       <bean id="myBean" class="com.stuff.Cars"
                factory-method="Chevrolet"/>

我希望所有的测试都能使用雪佛兰和丰田;这样做的正确方法是什么?天真的方法是将所有测试类加倍,并使用雪佛兰而不是丰田。我对春天来说仍然很新,所以任何帮助都表示赞赏。感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用JUnit的参数化跑步者:http://junit.org/javadoc/latest/org/junit/runners/Parameterized.html

答案 1 :(得分:0)

如果您有不同类型的汽车,并且您想要构建一个所有汽车必须通过的通用测试套件,那么这就是合同测试。这个视频形式Ben Rady用JUnit 4很好地解释了这个概念:http://www.benrady.com/2009/12/contract-tests-in-junit-4.html