在一个项目中,有多个测试类,每个测试类包含多个测试方法。比如,我想在运行每个测试类之前创建数据库连接。无论我是运行单个测试类,多个测试类还是测试套件,都应该建立连接。 最重要的是,在多个测试类的情况下,不应该反复调用此步骤。无论我正在运行的测试类的数量如何,都应该只进行一次连接。
您能否提出设计或任何JUnit提示来解决此问题?
答案 0 :(得分:3)
您可以在测试套件中运行这些类。请参阅this question和提供的答案。
或者更改您的设计并使用@BeforeClass
注释在每个测试类之前运行一次设置。
有时,多个测试需要共享计算成本高昂的设置 (比如登录数据库)。虽然这可以妥协 测试的独立性,有时候是必要的优化。 使用@BeforeClass注释public static void no-arg方法会导致 它在类中的任何测试方法之前运行一次。该 超级类的@BeforeClass方法将在那些之前运行 现在的课程。
答案 1 :(得分:0)
使用@Before Junit注释
编写测试时,通常会发现需要进行多项测试 在运行之前创建的类似对象。诠释公共空白 使用@Before的方法会导致该方法在Test之前运行 方法。 @Before超类方法将在这些方法之前运行 当前班级。
简单地为所有junit类引入一个超类。您可以将数据库连接逻辑放在Superclass @Before带注释的方法中。
答案 2 :(得分:0)
如果你正在使用弹簧测试,那么你可以使用这里采用的技术:How to load DBUnit test data once per case with Spring Test