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

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
Maven管理的Spring Web項目集成JUnit單元測試
作者:網絡轉載 發布時間:[ 2013/10/31 10:45:17 ] 推薦標簽:

  有了這個基類,我們可以動手寫各個模塊的測試類了,只要在定義測試類的時候繼承TestBase,并在具體的方法前面加上@Test注解,筆者這里給出一個測試類的簡單示例:
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import com.reports.util.ActiveMQSender;
import com.test.basic.TestBase;
public classActiveMQSenderTest extends TestBase {
@Autowired
ActiveMQSendersender;
@Test
public void sendQTest(){
Assert.assertNull(sender.sendInformationQ("發,布。到?隊!列“的¥信息", "20131023102122", "20131025102122"));
Assert.assertNotNull(sender.sendInformationQ("發,布。到?隊!列“的¥信息", "20131023102122", "2013-10-26 10:21:22"));
}
@Test
public void sendTopicTest(){
Assert.assertNull(sender.sendInformationTopic("發,布。到?Topic!的”信¥息", "20131023102122","20131025102122") );
}
}
  后執行“RunAs -> JUnit Test”即可開始JUnit單元測試了,使用Maven命令還可以方便地對特定目錄下(通常是src/test/java目錄)的所有測試類進行批量測試。
  對于Java Web項目,某些業務類可能會帶有使用ServletContext等Web容器相關類的代碼,對于這些類我們不能直接用JUnit來測試了,因為默認JUnit是沒有Web容器的,我們通常需要借助其它相關的輔助類或者模擬Web容器來進行測試,例如利用struts2-junit-plugin的幫助來測試struts的action,這些內容網上的資料很多,不在本文的討論范圍之內。
  一些用到了web容器的業務類只需稍加修改,可以直接用于JUnit測試。假設一個業務類使用了ServletContext來獲取容器內的資源,例如一個配置文件:
  InputStream is=context.getResourceAsStream("/WEB-INF/configs/command-sender.xml");
  其中context變量保存了Web容器的ServletContext,如果直接使用JUnit來測試,必然導致空指針異常。此時我們可以稍作修改:
InputStream is = null;
if(null != context){
is= context.getResourceAsStream("/WEB-INF/configs/command-sender.xml");
}else{//JUnit Test環境下,使用ApplicationContext獲取配置文件
//NearEast 2013-10-22
try {
is= SpringContextHolder.getApplicationContext().
getResource("file:src/main/webapp/WEB-INF/configs/command-sender.xml").getInputStream();
}catch(IOException e) {
e.printStackTrace();
}
}
  其中,SpringContextHolder是筆者在《在Java Web應用中獲取Spring管理的Bean的方法》提到的一個工具類,SpringContextHolder.getApplicationContext()即獲得Spring的ApplicationContext。資源的路徑使用了上文提到的完全限定路徑,我們也可以將其寫為類似“file:E:/Workspaces/workspace_test/test/src/main/webapp/WEB-INF/configs/command-sender.xml"”的形式。經過上述修改之后,我們的業務類也可以直接利用JUnit執行測試了。
  當然我們還可以用其它方式獲取ApplicationContext,例如讓業務類實現ApplicationContextAware接口,并使用一個變量保存ApplicationContext。

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 久久亚洲精品成人 | 免费成人毛片 | 香港三级日本三人妇孕妇 | 欧美视频在线一区二区三区 | 免费一级欧美在线观看视频片 | 国产网站免费 | 特级深夜a级毛片免费观看 特级中国aaa毛片 | 成 人 黄 色 免费网 | 人人射人人舔 | 春意影院免费入口 | 亚洲成人手机在线 | 黄色小视频网 | 黄色影院在线 | 国产欧美日韩在线 | 免费在线看黄 | 宅男色影院 | 亚洲欧洲精品视频在线观看 | 天天狠天天透 | 精品区| 一级毛片免费在线观看网站 | 二级特黄绝大片免费视频大片 | 久久天堂视频 | 好男人在线社区www在线视频一 | 性欧美高清精品video | 天堂在线视频精品 | 怡红院成人网 | 精品久久久久久中文字幕一区 | 免费精品精品国产欧美在线 | 国内精品卡一卡二卡三 | 欧美videos极品另类 | 91精品国产综合成人 | 曰曰啪天天拍视频在线 | 欧美 在线 成 人怡红院 | 天天做天天爱夜夜大爽完整 | 全免费a级毛片免费看视频免 | 综合激情区视频一区视频二区 | 狠狠色噜噜狠狠狠狠五月婷 | 免费乱理伦片在线观看八戒 | 欧美激情综合色综合啪啪五月 | 成人黄激情免费视频 | 久久五月天婷婷 |