亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

全面認識JUnit 4的新特征

2019-11-18 13:52:26
字體:
來源:轉載
供稿:網友
提要 本文將向你介紹如何實現從JUnit 3.8向JUnit 4的遷移。同時,還討論JUnit 4中的一些新特征,非凡包括對注解的使用;最后,簡要介紹這個新版本的IDE集成現狀。

  一、 引言

  在本文開始,我將假定,你已經了解由Kent Beck和Erich Gamma發明的這個java單元測試框架并因此而略過必要的簡介。所以,我將集中分析從JUnit 3.8到最新版本-JUnit 4的遷移過程以及其在IDE和Ant中的集成。

  JUnit 4是一種與其之前的版本完全不同的API,它根據Java 5.0中的新特征(注解,靜態導入等)構建而成。如你所見,JUnit 4更簡單、更豐富和更易于使用,而且它引入了更為靈活的初始化和清理工作,還有限時的和參數化測試用例。

  代碼實例最能說明問題。因此,在本文中,我將使用一個例子來展示不同的測試用例:一個計算器。該示例計算器很簡單,效率并不高,甚至還有一些錯誤;它僅僅操作整數,并且把結果存儲在一個靜態變量中。Substract方法并不返回一個有效的結果,而且也沒有實現乘法運算,而且看上去在squareRoot方法中還存在一個錯誤:無限循環。這些錯誤將幫助說明使用JUnit 4進行測試的有效性。你可以打開和關閉這個計算器,而且你可以清除這些結果。下面是其實現代碼:

package calc;
public class Calculator {
 PRivate static int result; //存儲結果的靜態變量
 public void add(int n) {
  result = result + n;
 }
 public void substract(int n) {
  result = result - 1; //錯誤:應該是"result = result - n"
 }
 public void multiply(int n) {} //還沒實現
 public void divide(int n) {
  result = result / n;
 }
 public void square(int n) {
  result = n * n;
 }
 public void squareRoot(int n) {
  for (; ;) ; //錯誤:無限循環
 }
 public void clear() { //清除結果
  result = 0;
 }
 public void switchOn() { //打開屏幕,顯示"hello",并報警
  result = 0; //實現其它的計算器功能
 }
 public void switchOff() { } //顯示"bye bye",報警,并關閉屏幕
 public int getResult() {
  return result;
 }
}
  二、 遷移一個測試類

  現在,我將把一個已經使用JUnit 3.8編寫成的簡單的測試類遷移到JUnit 4。這個類有一些缺陷:它沒有測試所有的業務方法,而且看上去在testDivide方法中還存在一個錯誤(8/2不等于5)。因為還沒有實現乘法運算功能,所以對其測試將被忽略。

  下面,我們把兩個版本的框架之間的差別以粗體顯示出現于表格1中。

  表格1.分別以JUnit 3.8和JUnit 4實現的CaculatorTest。

  JUnit 3.8

package junit3;
import calc.Calculator;
import junit.framework.TestCase;
public class CalculatorTest extends TestCase {
 private static Calculator calculator = new Calculator();
 @Override protected void setUp() { calculator.clear(); }
 public void testAdd() {
  calculator.add(1);
  calculator.add(1);
  assertEquals(calculator.getResult(), 2);
 }
 public void testSuBTract() {
  calculator.add(10);
  calculator.subtract(2);
  assertEquals(calculator.getResult(), 8);
 }
 public void testDivide() {
  calculator.add(8);
  calculator.divide(2);
  assert calculator.getResult() == 5;
 }
 public void testDivideByZero() {
  try {
   calculator.divide(0);
   fail();
  }
  catch (ArithmeticException e) { }
 }
 public void notReadyYetTestMultiply() {
  calculator.add(10);
  calculator.multiply(10);
  assertEquals(calculator.getResult(), 100);
 }
}
  JUnit 4



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性资源免费| 国产福利精品视频| 亚洲精品国产精品国自产观看浪潮| 欧美黑人视频一区| 日韩女在线观看| 亚洲加勒比久久88色综合| 亚洲第一国产精品| 在线视频一区二区| 91久久国产综合久久91精品网站| 国产精品99久久久久久久久| 岛国av在线不卡| 亚洲18私人小影院| 成人av在线天堂| 青青草成人在线| 欧美久久精品午夜青青大伊人| 国产亚洲欧洲在线| 91国产视频在线播放| 久久视频中文字幕| 亚洲国产美女久久久久| 国产精品揄拍一区二区| 日韩美女av在线免费观看| 国内精品免费午夜毛片| 欧美性猛交xxxx免费看| 亚洲美女福利视频网站| 97碰碰碰免费色视频| 成人国产精品久久久久久亚洲| 色妞久久福利网| 5566日本婷婷色中文字幕97| 久久天天躁狠狠躁夜夜爽蜜月| 青草热久免费精品视频| 亚洲色无码播放| 久久国产精品久久久久久| 国产精品久久97| 精品无人区太爽高潮在线播放| 北条麻妃一区二区在线观看| 欧美精品18videos性欧美| 欧美三级免费观看| 8050国产精品久久久久久| 日韩中文字幕视频| 欧美wwwwww| 亚洲欧洲国产精品| 亚洲欧美一区二区三区在线| 日韩国产欧美区| 欧美剧在线观看| 91精品久久久久久久久久久| 日韩欧美国产中文字幕| 浅井舞香一区二区| 亚洲第一精品自拍| 亚洲成人黄色在线| 日韩三级影视基地| 国产成人精品视频在线观看| 在线亚洲欧美视频| 欧美有码在线观看| 亚洲福利影片在线| 91国产美女在线观看| 在线午夜精品自拍| 18一19gay欧美视频网站| 中文字幕欧美精品日韩中文字幕| 日韩av影视在线| 久久亚洲欧美日韩精品专区| 亚洲最新av在线网站| 亚洲欧洲日产国码av系列天堂| 国产脚交av在线一区二区| 91免费视频国产| 日韩av在线网站| 亚洲精品久久久久久久久| 亚洲国产天堂久久综合网| 欧美日韩久久久久| 日韩免费在线观看视频| 日韩免费在线视频| 欧美激情一区二区三区高清视频| 国产精品视频一| 2019亚洲男人天堂| 国产99视频精品免视看7| 亚洲第一区在线观看| 日韩在线视频网| 欧美激情精品久久久久久免费印度| 这里只有精品久久| 日韩精品在线私人| 91九色单男在线观看| 欧美理论在线观看| 日本国产一区二区三区| 成人欧美一区二区三区在线| 欧美国产亚洲视频| 国产视频久久久久| 久久久久亚洲精品| 国产亚洲精品久久久久久| 欧美老女人www| 欧美成人免费播放| 成人乱人伦精品视频在线观看| 午夜精品www| 欧美日韩成人免费| 久久视频在线免费观看| 亚洲精品一区久久久久久| 国产精品99久久久久久久久| 国产日韩亚洲欧美| 国产精品久久91| 亚洲国产私拍精品国模在线观看| 欧美黑人狂野猛交老妇| 日日狠狠久久偷偷四色综合免费| 亚洲天堂2020| 久久久国产精彩视频美女艺术照福利| 国产精品视频专区| 亚洲韩国欧洲国产日产av| 欧美日韩精品在线观看| 国产精品扒开腿做| 国产精品成人国产乱一区| 精品亚洲一区二区三区在线播放| 国产丝袜一区二区| 亚洲成人999| 91精品国产免费久久久久久| 一区三区二区视频| 精品亚洲永久免费精品| 国产精品自产拍在线观看| 国产精品激情自拍| 精品夜色国产国偷在线| 亚洲欧美日韩视频一区| 欧美日韩一区二区免费视频| 亚洲一区中文字幕| 午夜精品福利视频| 欧美视频在线观看 亚洲欧| 亚洲qvod图片区电影| 国产精品久在线观看| 主播福利视频一区| 日韩免费视频在线观看| 久久99国产综合精品女同| 奇门遁甲1982国语版免费观看高清| 国产视频在线一区二区| 狠狠躁夜夜躁人人躁婷婷91| 国产精品99免视看9| 国产精品久久97| 久久精品国产69国产精品亚洲| 亚洲福利视频在线| 国产精品久久久久久久久久尿| 亚洲一区av在线播放| 亚洲最新av在线网站| 久久99热这里只有精品国产| 日韩成人av在线| 91精品国产高清自在线| 国产精品免费在线免费| 亚洲www在线观看| 日韩中文字幕精品视频| 国产成人精品久久二区二区| 亚洲电影天堂av| 久久久亚洲天堂| 欧日韩不卡在线视频| 亚洲人a成www在线影院| 国产精品久久久久久久久粉嫩av| 国产手机视频精品| 国产精品www网站| 日韩**中文字幕毛片| 91性高湖久久久久久久久_久久99| 久久视频在线看| 精品国产成人在线| 亚洲影视九九影院在线观看| 在线播放亚洲激情| 欧美精品在线看| 亚洲毛片在线看| 日韩电影在线观看中文字幕| 日韩成人av在线| 国产精品久久久久久五月尺| 国产精品va在线播放我和闺蜜| 欧美人与性动交| 成人444kkkk在线观看|