两者的主要区别是什么
@在课前和@在课前- 在JUnit 5中,在每个之前和之前@beforeach
@After和@AfterClass
根据JUnit Api@Before用于以下情况:
编写测试时,通常会发现一些测试在运行之前需要创建类似的对象
而@BeforeClass可用于建立数据库连接。但是以前的@就不能这样做吗
在每个测试之前执行标记为@Before的代码,而@BeforeClass在整个测试夹具之前运行一次。如果测试类有十个测试,@Before代码将执行十次,但@BeforeClass将只执行一次
通常,当多个测试需要共享相同的计算开销较大的设置代码时,可以使用@BeforeClass。建立数据库连接属于这一类。您可以将代码从@BeforeClass移动到@BeforeClass,但测试运行可能需要更长的时间。请注意,标记为@BeforeClass的代码作为静态初始值设定项运行,因此它将在创建测试夹具的类实例之前运行
在JUnit5,标签@beforeach和@BeforeAll与JUnit4中的@beforeach和@BeforeAll等价。它们的名称更能指示它们运行的时间,松散地解释为:“在每个测试之前”和“在所有测试之前一次”