0
我想單元測試工作腳手架。我對原來的腳手架模板做了一些改變,以便爲我的應用程序提供所需的服務。這是用於測試的代碼:Grails單元測試導致空實例
void "Test that the show action returns the correct model"() {
when:"A domain instance is passed to the show action"
populateValidParams(params)
def domainName = new DomainName(params)
controller.show(domain.toString())
then:"A model is populated containing the domain instance"
model.domainNameInstance == domainName
}
這是用於顯示動作,其中,I從數據庫基於所述ID,它是由一個toString方法中所創建的內兩個數值抓住域實例的代碼控制器:
def show(String id){
if (id!=null){
def (term, college)=id.split('_')
DomainName domainNameInstance
respond domainNameInstance=DomainName.findByVal1AndVal2(val1, val2)
}else{
response.sendError(HttpServletResponse.SC_NOT_FOUND)
}
}
,我有是,當我運行測試,該domainInstance是測試範圍內空,而域返回正確的價值觀問題。有人會知道我需要更改以使測試中的domainInstance不爲null嗎?作爲參考,我正在使用Grails 2.4.3和Scaffolding 2.1.2插件。
我試過用controller.save(domainName),但是我得到一個錯誤,說明CREATED屬性對於控制器不存在。 – 2014-10-20 18:57:27
聽起來像你缺少一個'import static org.springframework.http.HttpStatus。*' – doelleri 2014-10-20 19:27:44
這是包含在我的控制器中。當我測試保存功能時,它會通過。只有顯示和編輯功能存在這個問題,並且它們中包含完全相同的代碼。 show test的第一個測試,看它是否返回404,如果實例爲空,它通過該測試,則導入語句不是問題。 – 2014-10-20 19:30:46