执行test类的每个方法时,需要做一些初始化。比如初始化applicationcontext。JUnit使用@Before注解。
import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest @Slf4j public class PageProcessorTest { @Autowired OrderList0Processor orderList0Processor; @Autowired ApplicationContext applicationContext; @Before public void init(){ System.out.println("this is @Before"); ApplicationContextUtils.setContext(applicationContext); } @Test public void spiderT0() { // ApplicationContextUtils.setContext(applicationContext); orderList0Processor.startSpider(2); log.info("当前页数:{}", orderList22Processor.getPageSize()); } }
JUnit与MSTest。
Junit |
MSTest -MSTest.TestFramework -MS.VisualStudio.QualityTools.UnitTestFramework |
|
注解/Annotation |
特性/Attribute |
|
@RunWith |
[TestClass] |
声明在class上。 声明一个class为Test类(java命名规范是在被测试类后加Test) |
@BeforeClass |
[ClassInitialize] |
声明在方法上。 在所有Test方法执行前执行。(junit要求方法必须是静态的) |
@Before |
[TestInitialize] |
声明在方法上。 在每个Test方法执行前执行。 |
@Test |
[TestMethod] |
声明在方法上。 声明方法为Test方法 |
@After |
[TestCleanUp] |
声明在方法上。 在每个Test方法运行后被执行一次 |
@AfterClass |
[ClassCleanUp] |
声明在方法上。 在所有Test方法运行后执行。(junit要求方法必须是静态的) |