我正在尝试通过扩展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
映射的操作。
答案 0 :(得分:0)
第一种方法返回映射以尝试,但不保证将执行此操作。
在启动时解析struts.xml
文件以创建运行时配置,因此它对此方法的意义较小,实际上使用的ActionMapper
可能具有不同的实现。
第二种方法确实返回了动作配置(如果没有抛出异常),所以可以执行动作。