欢迎大家来到IT世界,在知识的湖畔探索吧!
JUnit是一个编写可重复测试的简单框架。它是单元测试框架的xUnit架构的一个实例。
Eclipse中为项目添加Junit单元测试;
JUnit的基本使用规范
1. 测试方法必须使用@Test修饰
2. 测试方法必须使用public void进行修饰,不能带参数
3. 一般使用单元测试会新建一个test目录存放测试代码,在生产部署的时候只需要将test目录下代码删除即可
4. 测试代码的包应该和被测试代码包结构保持一致
5. 测试单元中的每个方法必须可以独立测试,方法间不能有任何依赖
6. 测试类一般使用Test作为类名的后缀
7. 测试方法使一般用test作为方法名的前缀
8. 命名一般是“测试类名称+Test”
9. 常用注解:@Before,@After
常用注解
@Test:将一个普通方法修饰成一个测试方法
@Test(excepted=xxx.class): xxx.class表示异常类,表示测试的方法抛出此异常时,认为是正常的测试通过的
@Test(timeout=毫秒数) :测试方法执行时间是否符合预期
@Before:会在每一个测试方法被运行前执行一次
@After:会在每一个测试方法运行后被执行一次
@BeforeClass: 会在所有的方法执行前被执行,static方法
@AfterClass:会在所有的方法执行之后进行执行,static方法
@Ignore:所修饰的测试方法会被测试运行器忽略
@RunWith:可以更改测试运行器org.junit.runner.Runner
Parameters:参数化注解
测试失败说明
Failure:一般是由于测试结果和预期结果不一致引发的,表示测试的这个点发现了问题
error:是由代码异常引起的,它可以产生于测试代码本身的错误,也可以是被测试代码中隐藏的bug
@Before,@After和@BeforeClass和@AfterClass的区别
@Before:一般用于准备测试环境,在测试类中调用每个测试方法的时候都会各执行一次@Before部分的代码;
@Beforeclass: 在类中只会被执行一次;
@After:一般用于释放资源,对于每一个测试方法都要执行一次;
@Afterclass:所有测试用例执行完才执行一次;
一个JUnit4的单元测试用例执行顺序为:
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass;
每一个测试方法的调用顺序为:
@Before -> @Test -> @After;
@Before和@After测试代码
public class TestM {
@Before
public void test1(){
System.out.println("================添加测试条件===============");
}
@Test
public void test2(){
int actual=5;
Assert.assertSame(5, actual);
System.out.println("具体的测试内容。。。。。。");
}
@Test
public void test22(){
int actual=5;
Assert.assertSame(5, actual);
System.out.println("具体的测试内容222。。。。。。");
}
@After
public void test3(){
System.out.println("================恢复测试环境===============");
}
}
欢迎大家来到IT世界,在知识的湖畔探索吧!
运行结果:
================添加测试条件===============
具体的测试内容。。。。。。
================恢复测试环境===============
================添加测试条件===============
具体的测试内容222。。。。。。
================恢复测试环境===============
@BeforeClass和@AfterClass测试代码
欢迎大家来到IT世界,在知识的湖畔探索吧!public class TestM {
@BeforeClass
public static void test1(){
System.out.println("================添加测试条件===============");
}
@Test
public void test2(){
int actual=5;
Assert.assertSame(5, actual);
System.out.println("具体的测试内容。。。。。。");
}
@Test
public void test22(){
int actual=5;
Assert.assertSame(5, actual);
System.out.println("具体的测试内容222。。。。。。");
}
@AfterClass
public static void test3(){
System.out.println("================恢复测试环境===============");
} }
运行结果:
================添加测试条件===============
具体的测试内容。。。。。。
具体的测试内容222。。。。。。
================恢复测试环境===============
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/17838.html