0
我有以下幾行代碼如何避免在使用Grails單元測試域呼叫/斯波克
username = username.stripIndent()
user = User."${databaseInstance}".findByUsername(username)
if (user == null){
return "User does not exist"
}
我試圖單元測試這個功能用:
def setup() {
def mockUser = Mock(User)
myClass.user = mockUser
}
void "userNotFoundGetUserInfo"(){
given:
myClass.databaseInstance = 'X'
_ * mockUser._ >> null
when:
def result = myClass.getUserInfo(username)
then:
result == "User does not exist"
}
,但我繼續收到錯誤「沒有這樣的屬性:X爲類mypackage.User」
我意識到這是因爲我嘲笑的「用戶」對象,而不是「用戶」類,所以我怎麼繞過事實上,我的代碼正在製作一個直接調用一個域類?
你需要模擬'User'類。那有什麼問題? – Opal 2014-09-11 09:29:11