JUNIT4 笔记(四) 测试类——继承关系执行顺序

父类有tearUp和tearDown的代码,如果父类方法被子类覆盖(隐藏了)将不被执行,否则先执行父类的tearUp方法,再执行子类的tearUp方法,先执行子类的tearDown方法,再执行父类的tearDown方法。

不推荐测试类继承另一个测试类。
不推荐测试类有多个@Before,多个@After,多个@ BeforeClass,多个@AfterClass。

ParentTestcase.java

public class ParentTestcase {
@BeforeClass
public static void beforeClass(){
System.out.println("@BeforeClass");
}
@AfterClass
public static void afterClass(){
System.out.println("@AfterClass");
}
@Before
public void before(){
System.out.println("@Before");
}
@After
public void after(){
System.out.println("@After");
}
@Test public void test1() {
System.out.println("@test1");
assertTrue(true);
}
@Test public void test2(){
System.out.println("@test2");
assertEquals(5,2+3);
}
}

FirstChildTestcase.java

public class FirstChildTestcase extends ParentTestcase {
@BeforeClass
public static void beforeClass(){
System.out.println("child @BeforeClass");
}
@AfterClass
public static void afterClass(){
System.out.println("child @AfterClass");
}
@Before
public void before(){
System.out.println("child @Before");
}
@After
public void after(){
System.out.println("child @After");
}
@Test public void test1() {
System.out.println("child @test1");
assertTrue(true);
}
@Test public void test2(){
System.out.println("child @test2");
assertEquals(5,2+3);
}
}

SecondChildTestcase.java

public class SecondChildTestcase extends ParentTestcase {
@BeforeClass
public static void childBeforeClass(){
System.out.println("child @BeforeClass");
}
@AfterClass
public static void childAfterClass(){
System.out.println("child @AfterClass");
}
@Before
public void childBefore(){
System.out.println("child @Before");
}
@After
public void childAfter(){
System.out.println("child @After");
}
@Test public void childTest1() {
System.out.println("child @test1");
assertTrue(true);
}
@Test public void childTest2(){
System.out.println("child @test2");
assertEquals(5,2+3);
}
}

执行FirstChildTestcase
[list=1]
[*]child @BeforeClass
[*]child @Before
[*]child @test1
[*]child @After
[*]child @Before
[*]child @test2
[*]child @After
[*]child @AfterClass
[/list]
执行SecondChildTestcase
[list=1]
[*]@BeforeClass
[*]child @BeforeClass
[*]@Before
[*]child @Before
[*]child @test1
[*]child @After
[*]@After
[*]@Before
[*]child @Before
[*]child @test2
[*]child @After
[*]@After
[*]@Before
[*]child @Before
[*]@test1
[*]child @After
[*]@After
[*]@Before
[*]child @Before
[*]@test2
[*]child @After
[*]@After
[*]child @AfterClass
[*]@AfterClass
[/list]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值