StrutsSpringTestCase - getActionMapping() - 它是否在struts.xml中搜索动作?

时间:2014-10-28 19:27:47

标签: java spring junit struts2 unit-testing

我正在尝试通过扩展StrutsSpringTestCase来为Struts2操作编写测试。 The reference

当我调用getActionMapping(<action url>)时,是否会在struts.xml文件中搜索动作映射?

守则:

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

这过去了。但我的custSeach映射中没有struts.xml操作。

修改:更多详情

struts.xml位于类路径中。我可以打印从类路径加载的所有文件,struts.xml就是其中之一。

另外,我也尝试了以下内容:

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

custSearch确实存在。但它仍然在抛出错误

  

没有针对操作名称custSearch映射的操作。

1 个答案:

答案 0 :(得分:0)

第一种方法返回映射以尝试,但不保证将执行此操作。

在启动时解析struts.xml文件以创建运行时配置,因此它对此方法的意义较小,实际上使用的ActionMapper可能具有不同的实现。

第二种方法确实返回了动作配置(如果没有抛出异常),所以可以执行动作。