亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
Java用JUnit進行單元測試
作者:柴澤建_Jack 發布時間:[ 2017/3/30 11:24:01 ] 推薦標簽:單元測試 Junit JAVA

  單元測試應該是開發人員必備的技能,但又是開發人員容易忽略的內容。我是一個Android Coder,接下來從零開始學習使用JUnit進行單元測試。
  1、原始的寫法
  1.1、準備

  創建一個文件夾作為工作文件夾。
  1.2、下載
  這里我們需要下載兩個東西:
  junit.jar
  hamcrest-core.jar
  我這里下載了4.12版本的JUnit和1.3版本的hamcrest。下載完成之后,拷貝到工作文件夾。
  1.3、編寫Java類
  在工作文件夾創建編寫Java類。
  import java.lang.String;
  import java.lang.Integer;
  public class Calculate{
  public int evaluate(String expression) {
  int sum = 0;
  for (String summand: expression.split("\+"))
  sum += Integer.valueOf(summand);
  return sum;
  }
  }
  然后通過Java命令行編譯該類:
  javac Calculate.java
  1.4、編寫測試類
  在工作文件夾創建編寫測試類
  import static org.junit.Assert.assertEquals;
  import org.junit.Test;
  public class CalculateTest {
  @Test
  public void evaluatesExpression() {
  Calculate calculate = new Calculate();
  int sum = calculate.evaluate("1+2+3");
  assertEquals(6, sum);
  }
  }
  然后使用命令行編譯該類:
  javac -cp .:junit-4.12.jar CalculateTest.java
  1.5、運行測試
  使用命令行:
  java -cp .:junit-4.12.jar:hamcrest-core-1.3.jar org.junit.runner.JUnitCore CalculateTest
  結果:
  JUnit version 4.12
  .
  Time: 0.004
  OK (1 test)
  1.6、測試失敗的情況
  更改Java類為:
  import java.lang.String;
  import java.lang.Integer;
  public class Calculate{
  public int evaluate(String expression) {
  int sum = 0;
  for (String summand: expression.split("\+"))
  sum -= Integer.valueOf(summand); //這里改為-
  return sum;
  }
  }
  重新編譯,運行測試。結果:
  JUnit version 4.12
  .E
  Time: 0.009
  There was 1 failure:
  1) evaluatesExpression(CalculateTest)
  java.lang.AssertionError: expected:<6> but was:<-6>
  at org.junit.Assert.fail(Assert.java:88)
  at org.junit.Assert.failNotEquals(Assert.java:834)
  ……
  FAILURES!!!
  Tests run: 1,  Failures: 1
  基礎的用法完成Java的單元測試。我們進行單元測試肯定不會這么麻煩。但是要知道,我們使用任何框架或者編輯器,他們在背后做的事情大概也是這些。那接下來,仍然手工來做一個使用Gradle構建的Java工程的測試寫法。
  2、對使用Gradle構建的Java項目進行單元測試
  2.1、使用Gradle構建Java工程

  估計,即使是使用過Gradle構建的人,也很少有人手動使用grad
  2.1.1、準備
  仍然是創建一個文件夾作為我們的工程文件夾。
  2.1.2、創建build.gradle文件
  在這個文件夾下面創建一個build.gradle文件,內容:
  apply plugin: 'java'
  2.1.3、創建Java工程結構并編寫代碼
  然后在工程文件夾下創建Java工程結構,并在src/main/java下創建一個文件,Calculator文件。PS:我創建的工程文件夾叫Gradle。

  Calculator.java
  import java.lang.String;
  public class Calculator{
  public int add(int a, int b){
  return a + b ;
  }
  public static void main(String[] args) {
  Calculator calculator = new Calculator() ;
  int result = calculator.add(1,2) ;
  System.out.println(String.valueOf(result));
  }
  }
  2.1.4、使用gradle構建工程
  在工程文件夾下使用命令行gradle build構建工程。
  gradle build

  然后查看工程文件夾:

  我們可以看到多出了build文件夾,這個是使用gradle構建出的內容。我們可以看到有class和jar文件。那么我們去運行一下試一試。

  我們看到,輸出3,正是我們程序預期的結果。OK這樣我們使用gradle構建好了一個基礎的Java工程了。接下來為我們的工程添加測試文件。
  2.2、使用JUnit進行單元測試
  2.2.1 添加依賴

  首先我們需要在build.gradle中添加依賴,那么更改之后的build.gradle文件如下。
  apply plugin: 'java'
  repositories {
  mavenCentral()
  }
  dependencies {
  testCompile 'junit:junit:4.12'
  }
  2.2.2、添加單元測試代碼
  在src/test/java中創建CalculatorTest.java文件:
  內容如下:
  import static org.junit.Assert.assertEquals;
  import org.junit.Test;
  public class CalculatorTest {
  @Test
  public void evaluatesExpression() {
  Calculator calculate = new Calculator();
  int sum = calculate.add(1,2);
  assertEquals(3, sum);
  }
  }

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 欧美成人免费一区在线播放 | 亚洲国产欧美国产综合一区 | 一级特黄性色生活片一区二区 | 日韩欧美视频在线 | 欧美高清成人videosex | 日韩高清不卡 | 欧美日韩在线成人 | 最近2019中文字幕 | 福利视频第一页 | 欧美日韩国产手机在线观看视频 | 免费一级黄色录像 | 国产亚洲3p一区二区三区 | 一个人在线观看www视频 | 亚欧在线一线 | 永久免费视频网站在线观看 | 日本三级韩国三级三级a级按摩 | 欧美91精品久久久久网免费 | 亚洲第一区视频在线观看 | 欧美一级在线视频 | 免费女上男下xx00视频 | 欧美精品一区视频 | 色日本视频 | 国内小情侣一二三区在线视频 | 不卡视频一区 | 78m成人免费视频 | 好吊色综合网天天高清 | 欧美福利 | 日本三级带日本三级带黄国产 | 激情六月丁香 | aa黄色毛片 | 三级网站 | 亚洲日本视频在线 | 欧美亚洲国产激情一区二区 | 国产福利亚洲 | 国产一卡二卡三卡 | 高清色惰www日本午夜 | 高清一级毛片一本到免费观看 | 精品国偷自产在线视频99 | 人人人干 | 中国videos露脸hd| 亚洲a视频在线观看 |