mockplus教程 mock框架做行為測試有什么弊端?
mock框架做行為測試有什么弊端?在單元測試中,我們經(jīng)常需要做一些模擬操作。現(xiàn)在有一些很好的框架可以做這些事情,比如easymack,它在大多數(shù)情況下工作得很好,但是在一些結構的設計上卻無能為力。Ea
mock框架做行為測試有什么弊端?
在單元測試中,我們經(jīng)常需要做一些模擬操作。現(xiàn)在有一些很好的框架可以做這些事情,比如easymack,它在大多數(shù)情況下工作得很好,但是在一些結構的設計上卻無能為力。Easymock和其他許多模擬框架只能模擬一些公共的、非靜態(tài)的或final方法。在大多數(shù)情況下,這是沒有問題的。它可以處理大多數(shù)問題,但是當測試代碼包含一些靜態(tài)方法時。Cactus是一個基于JUnit框架的簡單測試框架,用于對服務器Java代碼進行單元測試。cactus框架的主要目標是能夠在服務器端使用servlet對象對Java方法進行單元測試,比如HttpServletRequest,它是單元測試的框架。例如,如果你編寫了一個程序,在進行函數(shù)測試,即整體測試之前,你想知道它是對還是錯,你可以用這些工具編寫一個單元測試用例,分別測試這個類或程序的某個部分
~]@runwith(PowerMockRunner.class類)
@PrepareForTest(助手類)//1. 添加要初始化的類,它是構造函數(shù)的類
public class helpertest{
@Mock
private Something mockSomething
@InjectMocks
private Helper Helper
@Test
public void doSomething()拋出異常{
String argument argPowerMockito.whenNew公司( 什么。班級). witharguments(參數(shù))。然后返回(mocksomething)//2。添加要構造的函數(shù)的類、參數(shù)和返回值
//3。調(diào)用所需的測試方法3.劑量測定(參數(shù))
//verify
驗證(mocksomething)。Doit()
}
]公共類幫助程序{
public void something(string ARG){
something something=New something(ARG)做點什么吧Jmockit基于JavaSE5java.lang.instrument工具包開發(fā)時,內(nèi)部使用ASM庫動態(tài)修改Java字節(jié)碼,使Java作為靜態(tài)語言可以像動態(tài)語言一樣腳本語言、動態(tài)設置mock對象私有屬性、模擬靜態(tài)、私有方法行為等,對于手機開發(fā)、嵌入式開發(fā)等需求,使用jmockit可以在代碼盡可能簡潔的情況下輕松解決很多測試場景,或者如果您不想對測試中的代碼進行任何更改。