1. 程式人生 > >Junit4小技巧-測試基類

Junit4小技巧-測試基類

在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