什么是Junit?
Junit是xUnit的一个子集,在c++,paython,java语言中测试框架的名字都不相同
xUnit是一套基于测试驱动开发的测试框架
其中的断言机制:将程序预期的结果与程序运行的最终结果进行比对,确保对结果的可预知性
java所用的测试工具是Junit,Junit不需要去网上下载,在ecliplse中有:
1.新建一个工程
2.工程右键,点击Properties
3.
4.
5.
6.
7.
这是使用Junit最先要完成的 在完成了这个就进入下一步吧!
来简单使用一下Junit!
新建一个类:Calculate
- package com.fulisha.textjunit;
- public class Calculate {
- public int add(int a,int b){
- return a+b;
- }
- public int substract(int a , int b){
- return a-b;
- }
- public int cheng(int a,int b){
- return a*b;
- }
- public int chu(int a, int b){
- return a/b;
- }
- }
再新建一个测试类
- package com.fulisha.textjunit;
- import static org.junit.Assert.*;
- import org.junit.Test;
- public class CalculateTest {
- @Test
- public void testAdd(){
- assertEquals(6,new Calculate().add(3, 3));
- }
- @Test
- public void testsubstract(){
- assertEquals(2,new Calculate().substract(5, 3));
- }
- @Test
- public void testcheng(){
- assertEquals(15,new Calculate().cheng(5, 3));
- }
- @Test
- public void testchu(){
- assertEquals(2,new Calculate().chu(6, 3));
- }
- }
测试后的结果:
对此进行总结:
1.测试方法上必须使用@Test
2.测试方法必须使用 public void进行修饰
3.新建一个源代码目录来存放测试代码
4.测试类的包应该和被测试类的包一样
5.测试单元中的每个方法一定要能够独立测试,其方法不能有任何依赖
如果,测试的方法多,不想一个个的建立测试方法那么:
1.选择要测试的方法,右击New 选择other
2.
3.
4.
5.
6.
7.创建结果
- package com.fulisha.textjunit;
- import static org.junit.Assert.*;
- import org.junit.Test;
- public class CalculateTest3 {
- @Test
- public void testAdd() {
- fail("Not yet implemented");
- }
- @Test
- public void testSubstract() {
- fail("Not yet implemented");
- }
- @Test
- public void testCheng() {
- fail("Not yet implemented");
- }
- @Test
- public void testChu() {
- fail("Not yet implemented");
- }
- }
再在这个基础上进行修改测试类方法
在测试中结果中关于Failure和error的解释
1.Failure 一般由测试单元使用断言方法判断失败引起的,这个报错,说明测试点发现了问题,即程序输出的结果和我们预期的不一样
2.error 是由代码异常引起的,它可以产生代码本身的错误,也可以是测试代码中的一个隐藏bug
!!!测试用例不是用来证明你是对的,而是用来证明你没错
关于Junit运行流程
- package com.fulisha.textjunit;
- import static org.junit.Assert.*;
- import org.junit.After;
- import org.junit.AfterClass;
- import org.junit.Before;
- import org.junit.BeforeClass;
- import org.junit.Test;
- public class JunitFlowText {
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- System.out.println("this is beforeClasss....");
- }
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- System.out.println("this is afterClasss....");
- }
- @Before
- public void setUp() throws Exception {
- System.out.println("this is brfore....");
- }
- @After
- public void tearDown() throws Exception {
- System.out.println("this is after....");
- }
- @Test
- public void test1() {
- System.out.println("this is test1....");
- }
- @Test
- public void test2() {
- System.out.println("this is test2....");
- }
- }
运行结果:
总结:
@BeforeClass
修饰的方法会在所有方法被调用前执行,且该方法时静态的,所以当测试类被加载后就接着运行它,而且在内存中他只会存在一份实例,他比较适合加载配置文件(针对所有测试,只执行一次 )
@AfterClass
所修饰的方法通常用来对资源管理,如关闭数据库连接(针对所有测试,只执行一次 )
@Before和@After 会在每个测试方法前后各执行一次
@Test:测试方法,在这里可以测试期望异常和超时时间
@Ignore:忽略的测试方法 什么是Junit?
Junit是xUnit的一个子集,在c++,paython,java语言中测试框架的名字都不相同
xUnit是一套基于测试驱动开发的测试框架
其中的断言机制:将程序预期的结果与程序运行的最终结果进行比对,确保对结果的可预知性
java所用的测试工具是Junit,Junit不需要去网上下载,在ecliplse中有:
1.新建一个工程
2.工程右键,点击Properties
3.
4.
5.
6.
7.
这是使用Junit最先要完成的 在完成了这个就进入下一步吧!
来简单使用一下Junit!
新建一个类:Calculate
- package com.fulisha.textjunit;
- public class Calculate {
- public int add(int a,int b){
- return a+b;
- }
- public int substract(int a , int b){
- return a-b;
- }
- public int cheng(int a,int b){
- return a*b;
- }
- public int chu(int a, int b){
- return a/b;
- }
- }
再新建一个测试类
- package com.fulisha.textjunit;
- import static org.junit.Assert.*;
- import org.junit.Test;
- public class CalculateTest {
- @Test
- public void testAdd(){
- assertEquals(6,new Calculate().add(3, 3));
- }
- @Test
- public void testsubstract(){
- assertEquals(2,new Calculate().substract(5, 3));
- }
- @Test
- public void testcheng(){
- assertEquals(15,new Calculate().cheng(5, 3));
- }
- @Test
- public void testchu(){
- assertEquals(2,new Calculate().chu(6, 3));
- }
- }
测试后的结果:
对此进行总结:
1.测试方法上必须使用@Test
2.测试方法必须使用 public void进行修饰
3.新建一个源代码目录来存放测试代码
4.测试类的包应该和被测试类的包一样
5.测试单元中的每个方法一定要能够独立测试,其方法不能有任何依赖
如果,测试的方法多,不想一个个的建立测试方法那么:
1.选择要测试的方法,右击New 选择other
2.
3.
4.
5.
6.
7.创建结果
- package com.fulisha.textjunit;
- import static org.junit.Assert.*;
- import org.junit.Test;
- public class CalculateTest3 {
- @Test
- public void testAdd() {
- fail("Not yet implemented");
- }
- @Test
- public void testSubstract() {
- fail("Not yet implemented");
- }
- @Test
- public void testCheng() {
- fail("Not yet implemented");
- }
- @Test
- public void testChu() {
- fail("Not yet implemented");
- }
- }
再在这个基础上进行修改测试类方法
在测试中结果中关于Failure和error的解释
1.Failure 一般由测试单元使用断言方法判断失败引起的,这个报错,说明测试点发现了问题,即程序输出的结果和我们预期的不一样
2.error 是由代码异常引起的,它可以产生代码本身的错误,也可以是测试代码中的一个隐藏bug
!!!测试用例不是用来证明你是对的,而是用来证明你没错
关于Junit运行流程
- package com.fulisha.textjunit;
- import static org.junit.Assert.*;
- import org.junit.After;
- import org.junit.AfterClass;
- import org.junit.Before;
- import org.junit.BeforeClass;
- import org.junit.Test;
- public class JunitFlowText {
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- System.out.println("this is beforeClasss....");
- }
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- System.out.println("this is afterClasss....");
- }
- @Before
- public void setUp() throws Exception {
- System.out.println("this is brfore....");
- }
- @After
- public void tearDown() throws Exception {
- System.out.println("this is after....");
- }
- @Test
- public void test1() {
- System.out.println("this is test1....");
- }
- @Test
- public void test2() {
- System.out.println("this is test2....");
- }
- }
运行结果:
总结:
@BeforeClass
修饰的方法会在所有方法被调用前执行,且该方法时静态的,所以当测试类被加载后就接着运行它,而且在内存中他只会存在一份实例,他比较适合加载配置文件(针对所有测试,只执行一次 )
@AfterClass
所修饰的方法通常用来对资源管理,如关闭数据库连接(针对所有测试,只执行一次 )
@Before和@After 会在每个测试方法前后各执行一次
@Test:测试方法,在这里可以测试期望异常和超时时间
@Ignore:忽略的测试方法
联系客服