什么是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 int add(int a,int b){ public int substract(int a , int b){ public int cheng(int a,int b){ public int chu(int a, int b){
再新建一个测试类 package com.fulisha.textjunit; import static org.junit.Assert.*; public class CalculateTest { assertEquals(6,new Calculate().add(3, 3)); public void testsubstract(){ assertEquals(2,new Calculate().substract(5, 3)); assertEquals(15,new Calculate().cheng(5, 3)); 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.*; public class CalculateTest3 { fail("Not yet implemented"); public void testSubstract() { fail("Not yet implemented"); public void testCheng() { fail("Not yet implemented"); fail("Not yet implemented");
再在这个基础上进行修改测试类方法 在测试中结果中关于Failure和error的解释 1.Failure 一般由测试单元使用断言方法判断失败引起的,这个报错,说明测试点发现了问题,即程序输出的结果和我们预期的不一样 2.error 是由代码异常引起的,它可以产生代码本身的错误,也可以是测试代码中的一个隐藏bug !!!测试用例不是用来证明你是对的,而是用来证明你没错 关于Junit运行流程 package com.fulisha.textjunit; import static org.junit.Assert.*; import org.junit.AfterClass; import org.junit.BeforeClass; public class JunitFlowText { public static void setUpBeforeClass() throws Exception { System.out.println("this is beforeClasss...."); public static void tearDownAfterClass() throws Exception { System.out.println("this is afterClasss...."); public void setUp() throws Exception { System.out.println("this is brfore...."); public void tearDown() throws Exception { System.out.println("this is after...."); System.out.println("this is test1...."); 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 int add(int a,int b){ public int substract(int a , int b){ public int cheng(int a,int b){ public int chu(int a, int b){
再新建一个测试类 package com.fulisha.textjunit; import static org.junit.Assert.*; public class CalculateTest { assertEquals(6,new Calculate().add(3, 3)); public void testsubstract(){ assertEquals(2,new Calculate().substract(5, 3)); assertEquals(15,new Calculate().cheng(5, 3)); 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.*; public class CalculateTest3 { fail("Not yet implemented"); public void testSubstract() { fail("Not yet implemented"); public void testCheng() { fail("Not yet implemented"); fail("Not yet implemented");
再在这个基础上进行修改测试类方法 在测试中结果中关于Failure和error的解释 1.Failure 一般由测试单元使用断言方法判断失败引起的,这个报错,说明测试点发现了问题,即程序输出的结果和我们预期的不一样 2.error 是由代码异常引起的,它可以产生代码本身的错误,也可以是测试代码中的一个隐藏bug !!!测试用例不是用来证明你是对的,而是用来证明你没错 关于Junit运行流程 package com.fulisha.textjunit; import static org.junit.Assert.*; import org.junit.AfterClass; import org.junit.BeforeClass; public class JunitFlowText { public static void setUpBeforeClass() throws Exception { System.out.println("this is beforeClasss...."); public static void tearDownAfterClass() throws Exception { System.out.println("this is afterClasss...."); public void setUp() throws Exception { System.out.println("this is brfore...."); public void tearDown() throws Exception { System.out.println("this is after...."); System.out.println("this is test1...."); System.out.println("this is test2....");
运行结果:
总结: @BeforeClass 修饰的方法会在所有方法被调用前执行,且该方法时静态的,所以当测试类被加载后就接着运行它,而且在内存中他只会存在一份实例,他比较适合加载配置文件(针对所有测试,只执行一次 ) @AfterClass
所修饰的方法通常用来对资源管理,如关闭数据库连接(针对所有测试,只执行一次 ) @Before和@After 会在每个测试方法前后各执行一次
@Test:测试方法,在这里可以测试期望异常和超时时间
@Ignore:忽略的测试方法
|