JUnit是最受欢迎的Java单元测试框架
这是我们在本节中将学到的内容的概述
步骤1:什么是JUnit和单元测试?
免费课程—分十步学习
我们通常在大型项目中工作-其中一些项目具有2000多个源文件,有时它可能多达10000个文件,带有一百万行代码。
在进行单元测试之前,我们依赖于部署整个应用程序并检查屏幕是否看起来不错。但这不是很有效。这是手动的。
单元测试专注于为各个类和方法编写自动化测试。
JUnit是一个框架,可以帮助您调用方法并检查(或断言)输出是否符合预期。
自动化测试的重要之处在于,只要某些代码发生更改,这些测试就可以连续集成地运行。
步骤2:第一个JUnit专案和Green Bar
package com.in28minutes.junit; public class MyMath { int sum(int[] numbers) { int sum = 0; for (int i : numbers) { sum += i; } return sum; } }
步骤3:第一个代码和第一个单元测试
package com.in28minutes.junit; import static org.junit.Assert.assertEquals; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class MyMathTest { MyMath myMath = new MyMath(); // MyMath.sum // 1,2,3 => 6 @Test public void sum_with3numbers() { System.out.println("Test1"); assertEquals(6, myMath.sum(new int[] { 1, 2, 3 })); } @Test public void sum_with1number() { System.out.println("Test2"); assertEquals(3, myMath.sum(new int[] { 3 })); } }
步骤4:其他断言方法
* assertTrue和assertFalse方法
package com.in28minutes.junit; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import org.junit.Test; public class AssertTest { @Test public void test() { boolean condn = true; assertEquals(true, condn); assertTrue(condn); // assertFalse(condn); } }
步骤5:重要注解
package com.in28minutes.junit; import static org.junit.Assert.assertEquals; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class MyMathTest { MyMath myMath = new MyMath(); @Before public void before() { System.out.println("Before"); } @After public void after() { System.out.println("After"); } @BeforeClass public static void beforeClass() { System.out.println("Before Class"); } @AfterClass public static void afterClass() { System.out.println("After Class"); } // MyMath.sum // 1,2,3 => 6 @Test public void sum_with3numbers() { System.out.println("Test1"); assertEquals(6, myMath.sum(new int[] { 1, 2, 3 })); } @Test public void sum_with1number() { System.out.println("Test2"); assertEquals(3, myMath.sum(new int[] { 3 })); } }
完整的代码示例 /src/com/in28minutes/junit/MyMath.java
/test/com/in28minutes/junit/AssertTest.java
/test/com/in28minutes/junit/MyMathTest.java
原文链接:http://codingdict.com