我正在Oracle ADF中准备一些JUnit测试,我感到很惊讶因为我看到测试类的构造函数在@before setup()方法之前执行...
问题是构造函数需要初始化变量,我从setup方法设置为构造函数...而且逻辑上我总是得到一个漂亮的NullPointerException ......
我能看到的唯一解决方案是直接从构造函数初始化变量,但我看到非常难看
有什么想法吗?在此先感谢你们
答案 0 :(得分:2)
也许您可以使用JUnit的@BeforeClass注释。
有时,多个测试需要共享计算成本高昂的设置(例如登录数据库)。虽然这会损害测试的独立性,但有时这是必要的优化。使用@BeforeClass注释public static void no-arg方法会导致它在类中的任何测试方法之前运行一次。超类的@BeforeClass方法将在当前类之前运行。
编写测试时,通常会发现多个测试需要在运行之前创建类似的对象。使用@Before注释public void方法会导致该方法在Test方法之前运行。 @Before超类方法将在当前类的方法之前运行。
答案 1 :(得分:0)
@BeforeClass将在构造函数调用之前执行;序列是