Junit4小技巧-測試基類
阿新 • • 發佈:2019-01-05
在Junit4使用的時候,直接執行,通過控制檯輸出來進行問題判斷,,這比啟用debug模式更加迅速,但有時需要知道哪個方法開始輸出,如果每次都在方法開始時,列印方法名稱,那是較麻煩的事情。
通過測試基類,通過rule,可以帶來一個方便,測試基類程式碼如下
package kata.testassist;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.TestName;
public abstract class BaseTest {
protected static final Logger logger = LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);
@Rule
public TestName name = new TestName();
@Before
public void init() {
logger.info("===Start " + name.getMethodName());
}
@After
public void tearDown() throws Exception {
logger.info("===End " + name.getMethodName());
}
}
實際的測試類繼承自測試基類,樣例如下
package kata.testassist;
import static org.junit.Assert.*;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class BaseTestTest extends BaseTest {
@Test
public final void testRun() {
logger.warn("write test run here");
}
}
執行輸出結果如下:
2017/03/22 00:23:25.943 INFO 17 init - ===Start testRun
2017/03/22 00:23:25.945 WARN 24 testRun - write test run here
2017/03/22 00:23:25.946 INFO 22 tearDown - ===End testRun