Bao*_*ris 4 java reflection junit function
我在使用 JUnit 4 时有一个问题。有一件事让我很困惑。为什么下面没有main函数,但是可以执行并返回测试结果?它甚至不扩展一个类。好糊涂……代码如下:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({ ATest.class,BTest.class })
public class AllTests {
}
Run Code Online (Sandbox Code Playgroud)
main 方法(不是函数)在 runner 类中实现。运行器类由 IDE 或构建工具调用,然后运行器加载测试类并执行所有标记的方法(即通过 @Test 注释)。
测试的生命周期比主函数要复杂一些。您可以在执行每个@Test 之前进行准备(@BeforeClass 和@Before 注释方法),然后进行清理(@After 和@AfterClass 注释方法)。
该框架为您提供了比仅具有单个主要方法更多的灵活性。也可以单独运行带注释的测试:您可能有一个庞大的测试套件,但您可能只想在纠正错误的同时重复运行失败的测试;这不能用 main 方法完成(除非你对每个测试都有一个 main 方法)。
如您所见,使用像 JUnit 这样的框架比使用 main 的普通 Java 类有几个优点。
| 归档时间: |
|
| 查看次数: |
4359 次 |
| 最近记录: |