精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

全面剖析J2ME單元測試理念

開發 前端
本文向大家簡單介紹一下J2ME單元測試的概念,利用JUnit等單元測試框架進行單元測試對于Java程序員并不陌生,利用這些非常有效的工具,使得代碼的質量得到有效的監控和維護。

J2ME Unit是由KentBeck和ErichGamma設計開發的在J2ME平臺上模仿JUnit的單元測試框架,大小17KB。它的運用為編寫有保證的J2ME程序代碼提供了基礎性的支持。

J2ME單元測試(JUnit)

J2ME Unit簡介:

利用JUnit等單元測試框架進行單元測試對于Java程序員并不陌生,利用這些非常有效的工具,使得代碼的質量得到有效的監控和維護。然而似乎一切在J2ME的平臺上,都顯得略有些不同。由于J2ME環境不能提供反射(Reflection)API,因此很多基于反射的功能都無法使用,例如JUnit中自動創建并運行testsuite的功能。廣大的J2ME程序員不能在J2ME平臺上使用JUNIT進行單元測試,但誰都知道沒有單元測試的程序是多么的脆弱!

J2ME Unit是由KentBeck和ErichGamma設計開發的在J2ME平臺上模仿JUnit的單元測試框架,大小17KB。它的運用為編寫有保證的J2ME程序代碼提供了基礎性的支持。J2MEUnit引入了一些新的機制來解決原有JUnit對反射的依賴。可能在使用中J2MEUnit明顯的沒有JUnit方便,但現階段我們也只能利用它了,熱烈的期盼著J2ME環境對反射的支持。現有的J2MEUnit的版本是1.1.1。如同JUnit一樣,它也是開源的。你可以在sf.net上找到他的下載。相比較JUnit經常升級,J2MEUnit有一段時間沒有升級了,一方面投入的力量較小,另外可能是考慮到J2ME環境的特殊性,要保證測試的LIB足夠的小。
  
搭建測試平臺:
  
  我們以Eclipse配合EclipseME為例子說明如何使用J2MEUnit。
  
  首先到sf下載J2MEUnit的***版本:http://J2MEUnit.sourceforge.net,并解壓縮到你的常用目錄中。
  
  新建一個MidletSuite,選擇Project…>properties…>JavaBuildPath…>Libraries…>AddExternalJARs…選擇你需好下載的路徑中的J2MEUnit.jar。 
 
  這樣就可以使用了。
  
編寫測試類:
  
  讓我們編寫一個TestCase來學習如何使用這套工具。
  
編寫TestCase類
  
  編寫測試的類要繼承J2MEUnit.framework.TestCase。如同JUnit中一樣,你可以覆寫setUp()和tearDown()方法,雖然這里沒有反射機制,但還是推薦你把測試方法以test開頭。這樣一但J2ME有了反射機制,你也可以快速的移植。還有一點要注意的是,你需要為子類提供一個構造函數(假設你的類叫做TestOne):  

  1.   publicTestOne(StringsTestName,TestMethodrTestMethod)  
  2.   {  
  3.   super(sTestName,rTestMethod);  
  4.   } 

  稍候解釋這是為什么?
  
  接下來編寫兩個個測試方法,這很熟悉: 

  1.   publicvoidtestOne()  
  2.   {  
  3.   System.out.println("TestOne.testOne()");  
  4.   assertTrue("Shouldbetrue",false);  
  5.   }  
  6.   publicvoidtestTwo()  
  7.   {  
  8.   System.out.println("TestOne.testTwo()");  
  9.   thrownewRuntimeException("Exception");  
  10.   } 

  正是缺少反射機制,你需要手動編寫suite方法,并一一調用你編寫的測試方法,這個步驟多多少少有些煩悶。沒辦法了,這是理解J2MEUnit框架的關鍵了,咱連writeoncedebuganywhere都忍了,還有什么困難不能克服呢?
  
  suite方法要求我們返回一個TestSuite對象,因此,首先建立一個新的TestSuite對象并調用addTest方法,為他添加Test對象。Test是一個接口,TestSuite、TestCase都實現了他,因此既可以添加測試單元、又可以添加一個測試套件。
  
  根據J2MEUnit的設計思想,一個TestCase在運行時,只能捆綁一個TestMethod對象。TestMethod是一個標準的回調接口,只含有一個回調run(TestCasetc)方法。這個run方法的任務是調用一個,注意,是一個測試方法,那么一旦這個方法出現問題,可以很好的捕捉它,并返回給用戶。TestMethod提供了一組set方法用于捆綁一個TestMethod對象,但實際我們不去使用它,因為效率太低了,為了更快捷的捆綁TestMethod對象,我們要利用構造函數和匿名類來捆綁TestMethod類的實例。這個匿名類很好編寫,只要將傳入的TestCasetc向上轉型到你的TestCase子類,然后調用相關方法就可。我們不得不同時提供一個String作為名稱給我們的構造函數
  
  看一下下面這個例子,希望能幫助你理解上面那段總覺得有些拗口的話。如果你理解了“一個TestCase在運行時,只能捆綁一個TestMethod對象”這句話,那么就理解了J2MEUnit所謂的新機制。千萬不要在一個TestMethod中連續調用多個test方法,這樣一旦某個方法出了問題,那么整個方法會結束而后續的測試將不能執行。一定要老老實實做人,認認真真寫suite(),似乎又回到了剪刀加漿糊的時代。 

  1.   publicTestsuite()  
  2.   {  
  3.   TestSuiteaSuite=newTestSuite();  
  4.   aSuite.addTest(newTestOne("testOne",newTestMethod()  
  5.   {publicvoidrun(TestCasetc){((TestOne)tc).testOne();  
  6.   }}));  
  7.   aSuite.addTest(newTestOne("testTwo",newTestMethod()  
  8.   {publicvoidrun(TestCasetc){((TestOne)tc).testTwo();  
  9.   }}));  
  10.   returnaSuite;  
  11.   } 

#p#編寫測試套件
  
  接下來編寫一個測試套件,其實你可能已經明白了,測試套件不過是一個特殊的TestCase,根據慣例,一般這樣的類叫做TestAll,只需要將以前添加的TestCase中的suite添加給TestAll的suite就可以了。 

  1.   publicclassTestAllextendsTestCase{  
  2.   publicTestsuite()  
  3.   {       TestSuitesuite=newTestSuite();  
  4.   suite.addTest(newTestOne().suite());  
  5.   suite.addTest(newTestTwo().suite());  
  6.   returnsuite;  
  7.   }} 

調試:
  
  有兩個方法運行我們的測試。
  
使用textui
  
  利用textui,這個大家都熟悉了,不做重點介紹。一般習慣上在TestAll方法中添加一個main方法: 

  1.     
  2.   publicstaticvoidmain(String[]args)  
  3.   {  
  4.   String[]runnerArgs=newString[]{"J2MEUnit.examples.TestAll"};  
  5.   J2MEUnit.textui.TestRunner.main(runnerArgs);  
  6.   }  
  7.    

  要為TestRunner.main傳入一個String數組,里面羅列所有要測試的TestCase的完整路徑,因為我們編寫了TestAll,所以只傳入他就可以了。
  
使用midletui
  
  這才是這套框架迷人的地方,正是有了他我們可以在真機上進行UnitTest了,cool,這將節省多少的測試成本呀。所以之前所有的編寫suite的工作就認了!
  
  繼承J2MEUnit.midletui.TestRunner,這是一個midlet父類。在startApp中調用如下方法: 

  1.   protectedvoidstartApp()  
  2.   {  
  3.   start(newString[]{"J2MEUnit.examples.TestAll"});  
  4.   } 

  或者,更為靈活的,你可以在jad文件中編寫一個J2MEUnitTestClasses屬性,寫入你要測試的若干個TestCase,這樣也可以進行測試而不更改主類。
  
  如下是在模擬上的結果: 

  1.     
  2. screen.width-460)this.width=screen.width-460"> 

  在我的MIDP1.0,真機上運行這個例子得到同樣的結果,用時401ms。如果你正在使用j2me開發項目,建議把單元測試引入到你的工作當中,正如我們看到單元測試對于別的java平臺的影響一樣,對于嵌入式開發,它也是大有用武之地的。

【編輯推薦】

  1. Javascript解決瀏覽器兼容問題12個技巧
  2. 解析J2ME中Font和Color的設置
  3. J2ME應用程序內存優化的三種途徑揭秘
  4. 技術分享 如何識別控制DHTML和JS中的頁面元素
  5. 深入探究Myeclipse J2ME開發環境配置
責任編輯:佚名 來源: hi.baidu.com
相關推薦

2010-09-29 16:06:02

J2ME Unit單元

2010-09-29 08:57:04

J2ME前景

2010-10-09 15:52:28

J2ME3D技術

2010-10-09 15:07:09

J2MEWeb服務

2010-09-29 09:19:39

J2ME開發工具

2010-09-29 11:23:53

unicodeJ2ME

2010-09-30 09:56:26

J2ME Polish

2010-09-30 13:28:55

J2ME圖形

2009-03-22 09:38:03

Android移植J2ME

2009-06-23 11:30:16

RMSJ2ME

2009-06-08 21:34:09

J2EEJ2SEJ2ME

2009-06-16 15:56:10

MIDlet生命周期J2ME程序測試

2010-09-29 13:50:31

J2MEJ2SE

2009-07-09 16:06:10

JDK J2EE J2

2010-09-29 13:37:20

J2MEPIM

2010-09-30 13:48:10

J2ME游戲引擎

2010-09-30 11:16:53

J2ME Snake腳

2010-09-29 10:41:18

J2MEJVM

2010-09-29 13:23:12

J2MEPIM

2010-09-29 16:20:06

J2MEWeb服務API
點贊
收藏

51CTO技術棧公眾號

亚洲视频 中文字幕| 久久最新免费视频| 成人黄色三级视频| 99久久夜色精品国产亚洲1000部 | 国产特黄大片aaaa毛片| 欧美日韩麻豆| 欧美色图免费看| 看全色黄大色大片| 日韩av视屏| 精品系列免费在线观看| 97久久精品在线| 欧美自拍偷拍网| 动漫视频在线一区| 欧美日韩在线播| 无罩大乳的熟妇正在播放| 在线观看免费网站黄| 不卡视频一二三| 成人激情av在线| 亚洲 欧美 日韩 综合| 99热国内精品永久免费观看| 日韩不卡中文字幕| 久久精品一二三四| 欧美中文字幕精在线不卡| 亚洲视频一区二区在线观看| 久久久久久一区| 国内精品久久久久久久久久久 | 亚洲三级中文字幕| 国产美女娇喘av呻吟久久| 欧美在线一区二区视频| 日日骚一区二区三区| 成人毛片在线| 亚洲欧美国产视频| 黄色性视频网站| 国产日韩一区二区三免费高清| 日本韩国一区二区| 91国视频在线| 波多野结衣乳巨码无在线观看| 国产精品久久久久国产精品日日| 你懂的视频在线一区二区| 精品国产无码一区二区| 精品一区二区三区不卡| 国产精品高潮在线| 无码人妻精品一区二区三区不卡 | 欧美成人milf| 亚洲最新av在线网站| 久久久无码人妻精品一区| 精品中国亚洲| 亚洲第一免费播放区| 在线成人精品视频| 精品国产18久久久久久二百| 7777精品久久久大香线蕉| the porn av| 成人四虎影院| 欧美色综合影院| 欧美性猛交久久久乱大交小说| 91精品xxx在线观看| 色综合久久综合网欧美综合网| 日韩a∨精品日韩在线观看| 国产高清在线a视频大全| 亚洲狠狠丁香婷婷综合久久久| 欧美精品一区二区性色a+v| 欧美另类极品| 亚洲蜜臀av乱码久久精品蜜桃| 中文字幕第一页亚洲| 超碰免费在线播放| 亚洲精品乱码久久久久久久久| 日韩不卡视频一区二区| 欧美videosex性欧美黑吊| 亚洲三级小视频| 国产成人一区二区三区别| 成人影院在线播放| 欧美性xxxx极品高清hd直播| 男人女人黄一级| 日本成人一区二区| 日韩一区二区精品葵司在线| 韩国三级视频在线观看| 老司机在线精品视频| 日韩精品久久久久| 亚洲午夜精品久久久久久高潮| 日韩精品欧美激情一区二区| 大胆欧美人体视频| 日本少妇全体裸体洗澡| 久久一二三四| 成人精品在线观看| 高清毛片aaaaaaaaa片| 91影院在线观看| 天堂一区二区三区| 亚洲欧美成人影院| 狠狠躁夜夜躁久久躁别揉| 91国产精品视频在线观看| 999久久久国产999久久久| 精品国产91久久久久久久妲己 | 亚洲日本护士毛茸茸| www.av91| 97欧美成人| 精品福利二区三区| 国产毛片欧美毛片久久久| 婷婷综合亚洲| 51午夜精品视频| 国产精品女同一区二区| 成人国产精品免费网站| 涩涩日韩在线| 超级白嫩亚洲国产第一| 欧美日韩精品一区二区| 国产伦精品一区三区精东| 久久大综合网| 欧美第一黄色网| 一级久久久久久| www..com久久爱| 在线成人av电影| 精品众筹模特私拍视频| 欧美午夜精品免费| 久久精品女同亚洲女同13| 欧美电影《轻佻寡妇》| 欧美综合一区第一页| 精品国产亚洲av麻豆| 国产欧美精品一区| 日本丰满少妇xxxx| 国产精品一区免费在线| 亚洲天堂一区二区三区| 日韩成人高清视频| 国产精品一二三四区| 婷婷久久青草热一区二区| 老牛影视精品| 精品国产a毛片| www.色小姐com| 精品一区二区综合| 日本成人三级电影网站| 国产精选在线| 日韩欧美国产系列| 天海翼在线视频| 美女尤物国产一区| 日日噜噜噜噜夜夜爽亚洲精品| 欧美gv在线| 亚洲福利视频专区| 麻豆亚洲av熟女国产一区二| 精品一区二区三区视频| 亚洲日本精品| 国产情侣一区二区三区| 亚洲桃花岛网站| www.com亚洲| 91麻豆国产精品久久| 妞干网在线观看视频| 午夜日韩影院| 久久久久久久国产精品视频| www.超碰在线.com| 亚洲自拍偷拍麻豆| 麻豆精品国产传媒| 在线精品观看| 国产欧美日韩伦理| а√在线中文网新版地址在线| 精品久久久三级丝袜| 劲爆欧美第一页| 国产成人精品网址| wwwwww欧美| 国产精品1luya在线播放| 97精品视频在线观看| 五月激情丁香婷婷| 精品欧美aⅴ在线网站| avtt香蕉久久| 天堂久久一区二区三区| 日韩国产精品一区二区三区| 国产91欧美| 日韩中文在线视频| 国产精品九九九九| 一区二区三区视频在线看| 任你躁av一区二区三区| 一区二区三区精品视频在线观看| 国语精品中文字幕| 美女福利一区二区三区| 国产亚洲综合久久| 91亚洲国产成人精品一区| 亚洲日本乱码在线观看| 大尺度在线观看| 久久久一二三| 一级做a爰片久久| 1769国产精品视频| 欧美自拍大量在线观看| 日韩美女网站| 欧美mv和日韩mv的网站| 亚洲欧美偷拍视频| 国产精品网站导航| 亚洲视频天天射| 久久蜜桃精品| www成人免费| 国产伦一区二区三区| 91视频九色网站| 99色在线观看| 最近中文字幕2019免费| 亚洲精品视频91| 91黄色激情网站| 免费三片在线播放| 国产午夜一区二区三区| 欧洲在线免费视频| 性高湖久久久久久久久| 一区二区三区四区免费视频| 国产ts一区| 国产欧美日韩免费| 91桃色在线| 久久精品久久久久| 五月天婷婷视频| 欧美一区二区三区免费在线看 | 欧美日韩综合色| www.av视频在线观看| 国产精品视频第一区| 久久福利小视频| 激情综合亚洲精品| 999香蕉视频| 欧美激情综合| 一级特黄录像免费播放全99| 亚洲欧美tv| 超碰97人人人人人蜜桃| jizz免费一区二区三区| 91成人福利在线| 日韩经典av| 久久艳片www.17c.com | 91国内在线视频| 国产调教视频在线观看| 亚洲午夜激情免费视频| 欧美 中文字幕| 91精品国产综合久久香蕉麻豆| 中文字幕69页| 精品久久久久久国产91| 青青草原在线免费观看视频| 国产精品色呦呦| 91视频在线网站| 97久久超碰精品国产| 日本少妇xxx| 紧缚奴在线一区二区三区| 已婚少妇美妙人妻系列| 9色精品在线| 国产精品久久..4399| 欧美日韩一视频区二区| 国产成人精品免费看在线播放| 国产欧美日韩在线一区二区| 久久久久久久久久久久久久一区| jazzjazz国产精品久久| 亚洲一区二区三区四区在线播放| 久久青草视频| 国产日韩中文字幕在线| 日韩毛片一区| 国产精品极品尤物在线观看| 久久久成人av毛片免费观看| 欧美中文字幕在线视频| 中国色在线日|韩| 高清欧美性猛交xxxx黑人猛交| 牛牛在线精品视频| 国产成人亚洲综合a∨猫咪| 久久久av电影| 蜜桃视频网站在线| 精品国产一区二区三区在线观看 | 在线视频一区二区| 国产香蕉视频在线看| 亚洲人成网站免费播放| 黄网在线观看| 伊人一区二区三区久久精品| 国产黄色片在线观看| 中文字幕精品国产| 亚乱亚乱亚洲乱妇| 久久九九国产精品怡红院| 搞黄网站在线观看| 久久久精品999| 免费看电影在线| 欧美劲爆第一页| 性欧美xxx69hd高清| 国产成人精品久久| 黄色日韩网站| 亚洲japanese制服美女| 丁香婷婷成人| 欧美在线视频一区二区三区| 成人免费在线观看av| 99re99热| 一区二区三区高清视频在线观看| 丝袜老师办公室里做好紧好爽 | 国产精品视频在线观看| 人人精品久久| 国产美女精品在线观看| 亚洲综合图色| 亚洲砖区区免费| 影音先锋亚洲电影| 日日摸天天爽天天爽视频| 精品一区二区三区在线观看 | 亚洲最大成人在线视频| 日韩一区二区三免费高清| 天堂a√中文在线| 最近的2019中文字幕免费一页| 色在线视频网| 国产精品高潮呻吟久久av无限 | 欧美大香线蕉线伊人久久国产精品| 国产一区99| 欧美精品在欧美一区二区| 免播放器亚洲| 日本黄色www| 久久久久久电影| 丰满少妇高潮久久三区| 色综合天天视频在线观看| 国产黄色小视频在线观看| 精品亚洲一区二区三区在线播放| 国产福利视频在线| 57pao成人永久免费视频| 999久久久国产999久久久| 久久av一区二区| 一区二区三区毛片免费| 国产女女做受ⅹxx高潮| 国产精品亚洲а∨天堂免在线| 亚洲 小说 欧美 激情 另类| 亚洲精品五月天| 精品国产www| 日韩高清不卡av| 在线观看中文| 国产精品午夜一区二区欲梦| 欧美电影在线观看免费| 亚洲av综合色区| 蜜臂av日日欢夜夜爽一区| 亚洲av无码一区二区三区观看| 亚洲人成人一区二区在线观看 | 国产一区二区福利| 在线观看日本中文字幕| 亚洲超碰精品一区二区| 国产精品久久免费| 国产一区二区免费| 两个人看的在线视频www| 91精品网站| 天天精品视频| 午夜免费看视频| 国产视频不卡一区| 免费黄色网址在线| 亚洲国产精品va在线看黑人动漫| bt在线麻豆视频| 91久久国产精品| 日韩激情在线| 亚洲国产成人久久| 草民电影神马电影一区二区| 成人精品一区二区三区电影免费 | 国产精品18p| 91精品久久久久久久99蜜桃| 91电影在线播放| 国产精品99免视看9| 美女久久久久| 欧美色图色综合| 91香蕉视频污在线| 日韩欧美性视频| 亚洲国产精品yw在线观看| 岛国毛片av在线| 国产欧美亚洲日本| 黄色成人在线网站| 无码人妻丰满熟妇区毛片蜜桃精品| 亚洲视频狠狠干| 国产又粗又长又大视频| 色妞久久福利网| 成人午夜888| 国产免费内射又粗又爽密桃视频| 国产乱子伦一区二区三区国色天香| 99热在线观看精品| 91麻豆精品国产91久久久久久久久 | а中文在线天堂| 正在播放亚洲1区| 青青久久精品| a级黄色片免费| 成人一级片网址| 欧美videossex极品| 亚洲欧美一区二区三区在线| 亚洲a∨精品一区二区三区导航| 午夜老司机精品| 狠狠v欧美v日韩v亚洲ⅴ| 日本a级片视频| 亚洲国产中文字幕久久网| 在线毛片观看| 日韩欧美一区二区视频在线播放 | 丁香花在线电影小说观看| 国产无套精品一区二区| 老牛国产精品一区的观看方式| 女人十八毛片嫩草av| 制服丝袜激情欧洲亚洲| av2020不卡| 青娱乐国产91| 精品无人区卡一卡二卡三乱码免费卡| 精品无码人妻一区二区三| 精品亚洲一区二区三区在线观看| 春暖花开亚洲一区二区三区| 午夜久久久久久久久久久| av一本久道久久综合久久鬼色| 日本久久综合网| 免费成人高清视频| 欧美五码在线| 成人av毛片在线观看| 亚欧色一区w666天堂| av影片在线看| 国产精品一 二 三| 免费看精品久久片| 久久机热这里只有精品| 亚洲小视频在线| eeuss国产一区二区三区四区| 污污视频网站免费观看| 亚洲乱码国产乱码精品精可以看 | 久久网站热最新地址| 国产免费无遮挡| 日本久久久久久久久| 综合激情在线| 中字幕一区二区三区乱码|