2014-10-28 40 views
-1

我試圖通過擴展StrutsSpringTestCase來編寫測試Struts2的操作。 The referenceStrutsSpringTestCase - getActionMapping() - 它是否在struts.xml中搜索動作?

當我打電話給getActionMapping(<action url>)時,它是否搜索struts.xml文件以進行操作映射?

驗證碼:

ActionMapping mapping = getActionMapping("/custSeach.action");// Intentionally missed 'r'. 
assertEquals("custSeach", mapping.getName()); 

此通過。但是在我的struts.xml映射中沒有custSeach操作。

編輯:更多細節

struts.xml是在類路徑中。我可以打印從類路徑加載的所有文件,struts.xml就是其中之一。

還,我想下面還有:

ActionProxy proxy = getActionProxy("custSearch"); 
assertNotNull(proxy); 

custSearch確實存在。但它仍然拋出錯誤

沒有操作映射爲操作名稱custSearch

+0

似乎你已經有了答案。你提出了很多*奇怪的問題而沒有給出任何迴應。它的目的是什麼? – 2014-10-28 20:52:12

+0

我想你想要更多的細節。雖然很樂意提供。但問題是'它是否搜索struts.xml文件進行動作映射?'我還不知道它的答案。 :-),它似乎沒有工作。 – 2014-10-28 21:00:28

+0

@AleksandrM提供了一些更多的細節。不知道你想要的其他細節。 – 2014-10-28 21:04:35

回答

0

第一種方法返回映射嘗試,它不保證此操作將被執行。

struts.xml文件在啓動時被解析以創建運行時配置,因此它對這種實際使用ActionMapper的方法具有較少的含義,該方法可能具有不同的實現。

第二種方法實際上會返回動作配置(如果沒有引發異常),所以可以執行該動作。

+0

你知道是否有辦法找出struts.xml是否被加載?請檢查我的編輯。它拋出沒有映射的操作。 – 2014-10-28 23:55:52

+1

如果存在,則默認加載。如果您有具體問題,請另行諮詢。這是我寫過的最後一次編輯的答案。 – 2014-10-29 09:11:51

+0

你應該upvote幫助的答案 – 2018-01-03 00:53:14

相關問題