超越JUnit –測試框架的替代方案

JUnit是事實上的Java單元測試框架,但是可能有一些新的(不是那么新的)框架可以用于Web開發。 在采用之前可能要問自己的問題:
  • 它們是否快速,容易開發,因此成本低廉?
  • 他們運行快并因此鼓勵采用嗎?
  • 他們需要維護并因此產生持續的成本嗎?
  • 我可以在每晚的版本中執行它們嗎?
  • 他們最終是否允許您更快地編寫更多無錯誤代碼?

莫基托

這是一個模擬框架,可以輕松快捷地創建模擬支持的測試。 這樣可以減少建立數據庫的成本,并避免編寫自己的數據庫。 該API似乎并不穩定,但語法簡潔明了。

http://mockito.org/

SureAssert

SureAssert具有用于編寫測試的基于注釋的機制。 這使編寫測試變得容易,并且Eclipse插件意味著您對增量構建進行了增量測試。

http://www.sureassert.com/

JS測試驅動程序

與下面的Selenium類似,這允許您使用JUnit樣式語法為JavaScript創建測試用例。 主要警告是您需要適當地考慮測試以適合測試,而我見過的大多數JavaScript并非如此。

http://code.google.com/p/js-test-driver/

Selenium是自上而下的瀏覽器插件和框架,它使您可以在瀏覽器中記錄一組類似于宏的操作以及對這些操作的一組斷言。 例如

  1. 打開第X頁。
  2. 單擊按鈕Y。
  3. 預期文字Z。

很好,因為測試專注于重要場景(檢查頁面是否真正打開并且交易確實發生),并且可以作為JUnit測試導出,可以作為夜間構建的一部分運行。 然而。 它很脆弱,并且因為它取決于應用程序的運行,所以速度很慢。

http://seleniumhq.org/

參考: Alex Collins博客中來自JCG合作伙伴 Alex Collins的JUnit之外 。


翻譯自: https://www.javacodegeeks.com/2012/04/beyond-junit-testing-frameworks.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373175.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373175.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373175.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

tensorflow mnist read_data_sets fails

下載處理mnist數據時出現如下錯誤 VisibleDeprecationWarning: converting an array with ndim > 0 to an index will result in an error in the future 解決方法: 在input_data.py文件中return numpy.frombuffer(bytestream.read(4), dtypedt) 后添加[0] retur…

斑馬打印機linux驅動安裝教程,linux-Zebra軟件包的基本安裝與配置

Zebra是一個路由軟件包,提供基于TCP/IP路由服務,支持RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP- 4,和 BGP-4等眾多路由協議。Zebra還支持BGP特性路由反射器(Route Reflector)。除了傳統的 IPv4路由協議,Zebra也支持IPv6路由協議。如果運行的…

iOS 改變App狀態欄顏色為白色

默認狀態欄為黑色,對于某些App不是很美觀,變成白色很簡單,只需要兩個步驟。 1.在Info.plist中添加新項目,View controller-based status bar appearance,Boolean值為No. 2.在AppDelegate的- (BOOL)application:(UIAppl…

Java 7對抑制異常的支持

在JDK 7中 ,向Throwable類( Exception和Error類的父類)添加了一個新的構造函數和兩個新方法。 添加了新的構造函數和兩個新方法以支持“抑制的異常”(不要與吞咽或忽略異常的不良做法相混淆)。 在本文中,我…

linux 如何做共享磁盤陣列,在Linux上玩轉磁盤陣列分享

大部分用戶都會擔心,萬一硬盤發生故障,一、使用磁盤陣列可以帶來哪些好處?在具體如何配置磁盤陣列之前,筆者要先給大家介紹一下利用磁盤陣列的好處。先給大家一點動力,讓大家能夠繼續看下面的內容。第一個好處是磁盤陣列可以提高…

my-innodb-heavy-4g.cnf

my-innodb-heavy-4g.cnf轉載于:https://www.cnblogs.com/xiluhua/p/6231834.html

易于使用的單位和集成代碼

此示例說明如何使用Maven和Sonar生成單元測試和集成測試的覆蓋率。 它使用非常簡單的技術,只需10-15分鐘即可在任何現有的Maven構建中運行。 它可用于單元,集成,ATDD或任何其他類型的測試套件。 覆蓋率結果顯示在Sonar中。 有什么事嗎&#x…

Dij的堆優化

#include<algorithm> #include<iostream> #include<cstdio> #include<cstring> #include<queue> #define M 100000 #define pa pair<int,int>//優先比較第一個元素 using namespace std; int d[M],n,m,cnt,head[M],next[M],u[M],dis[M],n…

linux db2sysc 內存,db2sysc進程占用linux內存持續增長,請各位指點。

該服務器近期做過的變更情況&#xff1a;變更前&#xff0c;使用 sar -r 1 3 看內存使用率服務器內存使用率一直是70%該服務器原為獨立物理服務器&#xff0c;經過虛擬化遷移到EXS上成為虛擬服務器。遷移后發現swap無法啟動。原因是原物理服務器硬盤控制器為cciss。/etc/fstab …

k8s的探針

一、探針原理 分布式系統和微服務體系結構的挑戰之一是自動檢測不正常的應用程序&#xff0c;并將請求&#xff08;request&#xff09;重新路由到其他可用系統&#xff0c;恢復損壞的組件。健康檢查是應對該挑戰的一種可靠方法。使用 Kubernetes&#xff0c;可以通過探針配置運…

第一百三十節,JavaScript,封裝庫--連綴

JavaScript&#xff0c;封裝庫--連綴 學習要點&#xff1a; 1.連綴介紹 2.改寫庫對象 本章我們重點來介紹&#xff0c;在調用庫的時候&#xff0c;我們需要能夠在前臺調用的時候可以同時設置多個操作&#xff0c;比如設置CSS&#xff0c;設置innerHTML&#xff0c;設置click事件…

Spring3:類型安全依賴項注入

在從Spring跳到類型安全依賴注入之前&#xff0c;我想討論一下我們之前所做的方式。 我們一直在借助Spring的Autowired注釋按類型使用依賴項注入。 像這樣的東西會注入Spring Bean。 Autowired private StudentDao studentDao; // Autowires by type. Injects the instance who…

userData IE

蠻討厭IE的&#xff0c;因為他常常需要特別照顧&#xff0c;就像DOM Storage(sessionStorage和localStorage)只能支持IE8&#xff0c;對于以下的只能使用userData。 原理&#xff1a;通過在document元素后面附加一個專屬的“DHTML行為”來實現客戶端存儲&#xff0c; var memor…

context元素大概解說

Context元素代表一個web應用&#xff0c;運行在某個特定的虛擬主機上。如Servlet Specification 2.2或以后版本中描述的那樣&#xff0c;每個web應用基于一個Web Application Archive(WAR)文件&#xff0c;或者是一個目錄&#xff0c;包含WAR文件解壓后的內容。有關Web Applica…

全新的Play模塊資料庫

去年11月&#xff0c;我曾與Play框架的 Nicolas Leroux談過創建模塊存儲庫的問題。 他同意這將是一個好主意&#xff0c;但是時間不足使我無法開始。 在上周Google Play小組發生了暴風雨之后&#xff0c;我決定將其優先處理。 可以在幾周內提供可工作的原型。 概述&#xff1a;…

Ubuntu 16.04 安裝 VMware-Workstation-12

以前一直使用 Ubuntu Virtaulbox &#xff0c;最近測試了 VMware-Workstation-9,性能超過 Virtaulbox-4.2.x,下面是詳細步驟:1 首先準備一個Ubuntu 系統 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04 LTS Release: 16.04 …

Linux的md64進程,在Linux上安裝Elasticsearch Kibaba.md(示例代碼)

在Linux上安裝Elasticsearch KibabaKibana是一個開源為elasticsearch 引擎提供數據和數據分析1、下載安裝切換到root賬戶&#xff0c;按順序依次執行以下命令rpm包安裝$wget -c https://artifacts.elastic.co/downloads/kibana/kibana-5.5.3-x86_64.rpm$sha1sum kibana-5.3.2-x…

SSH實戰 · 唯唯樂購項目(中)

用戶模塊三&#xff1a;一級分類的查詢創建一級分類表并導入基本數據CREATE TABLE category (cid int(11) NOT NULL AUTO_INCREMENT,cname varchar(255) DEFAULT NULL,PRIMARY KEY (cid)) ENGINEInnoDB AUTO_INCREMENT11 DEFAULT CHARSETutf8;建包及相應的類:com.weiwei.shoppi…

播放2 –模塊,插件有什么區別?

關于Play 2模塊和插件似乎有些混亂。 我想這是因為兩者經常是同義詞。 在Play&#xff08;兩個版本-1和2&#xff09;中&#xff0c;存在明顯的差異。 在本文中&#xff0c;我將介紹什么是插件&#xff0c;如何在Java和Scala中實現插件&#xff0c;以及如何從模塊導入插件。 外…

Linux多線程貝葉斯建樹教程,建樹經驗.doc

建樹經驗分子進化樹構建及數據分析的簡介mediocrebeing, rodger, lylover, klaus, oldfish, yzwpf一、引言開始動筆寫這篇短文之前&#xff0c;我問自己&#xff0c;為什么要寫這樣的文章&#xff1f;寫這樣的文章有實際的意義嗎&#xff1f;我希望能夠解決什么樣的問題&#x…