我正在为我目前正在处理的一个项目编写一些基本的单元测试,我的服务有一个addPlaneModel
方法来添加一个平面模型(在幕后,它将一个PlaneModel
示例添加到一个TreeMap
中,如果TreeMap
已经包含该键,则抛出一个自定义异常)。
我可以写个测试(例如shouldAddNewPlane_Succeed
)来查看它是否正确添加了PlaneModel
,但是如果我想创建一个测试来查看PlaneModel
是否已经存在(例如shouldAddNewPlane_ThrowExistingModelException
,因为我应该调用addPlaneModel
两次来使它抛出异常,但是如果shouldAddNewPlane_Succeed
测试没有首先运行,我真的不“知道”这个方法是否像它应该的那样工作。
我读到过单元测试应该是相互独立的,但是我真的不知道在这种情况下怎么做,我一定要按顺序运行它们吗?
2条答案
按热度按时间vpfxa7rd1#
您应该在每次测试之前建立所测试类别的新执行严修。
因此,您的测试类将如下所示:
o2g1uqev2#
如果你想在运行测试之前执行一些常见的代码,你可以使用JUnit中的
@Before
方法注解。此代码将始终在您运行的任何其他测试之前执行。这对于定义测试的特定执行顺序很有用。