我有一個服務類有2種方法(一種是公共的,另一種是保護的)。我想單元測試我的代碼。下面是代碼片段 MyServiceClass.groovy模擬單元測試下的服務類中的方法
class MyServiceClass {
public boolean myMethod1() {
// some code
boolean success = myMethod2()
// some code
}
public boolean myMethod2() {
// some logic to return true/false
return true
}
}
MyServiceClassTests.groovy
class MyServiceClassTests {
void testMyMethod1() {
// unit test code
}
}
在上面的單元測試代碼,我想嘲笑其通過myMethod1(),即調用myMethod2()的返回結果,這兩種方法都在同一服務類正在進行單元測試。如何嘲笑它並完成任務?
爲什麼我們不能這樣做..? – 2014-09-23 15:04:01
因爲你必須在你的測試中實例化一個新的MyServiceClass(),所以你正在執行「真實」的代碼來測試。因此,同一個類不能成爲模擬對象。 – Brad 2014-09-23 15:11:24
是他們的任何其他方式來解決這個iisue而不移動方法到任何一個類...? – 2014-09-23 15:15:02