【问题标题】:JUnit test struts2 actionJUnit测试struts2动作
【发布时间】:2015-03-23 18:44:40
【问题描述】:

我在我的应用程序中使用 Struts 2.0。我想用 Junit 测试来测试我的 struts 动作类。我应该为此使用哪个 jar 文件。我可以使用 Struts 测试吗?目前,我正在尝试使用 struts Junit 插件,但它总是显示 Spring 框架 NoClassDefFoundError 的异常,但我没有在我的项目中使用 Spring。我该怎么办?

我在扩展 StrutsTestCase 时遇到此错误。

java.lang.NoClassDefFoundError: org/springframework/core/io/ResourceLoader


java.lang.NoClassDefFoundError: org/springframework/mock/web/MockServletContext

【问题讨论】:

  • 只需添加所需的库。查看 S2 junit 插件的依赖项:repo1.maven.org/maven2/org/apache/struts/struts2-junit-plugin/….
  • 它对我有用。我的意思是错误已经消失了。除了我的 appln 库之外,我还把下面的 jars 包含到了我的 calsspath 中,并且我能够为我的 Struts2 Actions 运行 Junit 测试用例。 1.portlet-2.0 2.spring-core-2.5.5 3.spring-test 3.struts2-junit-plugin-2.3.8
  • 感谢大家的帮助!欣赏它。
  • @kani 你能发布答案吗?

标签: junit struts2


【解决方案1】:

检查您是否在类路径中拥有所有必需的库。检查程序的类路径以查看它实际指向的位置。

来自他们的文档:

“为了运行测试,您的 CLASSPATH 中必须有以下库:

junit.jar servlet.jar struts.jar commons-digester.jar commons-collections.jar commons-logging.jar commons-beanutils.jar jaxp.jar 深红色的.jar strutstest.jar"

这里为什么需要 Spring 类并不明显。

尝试运行他们的示例,看看是否遇到同样的错误。

【讨论】:

  • 感谢 amahfouz 的快速回复。
  • 我的类路径中有上述所有必需的库,但仍然面临同样的问题。我不知道为什么它需要春季课程。
  • 你试过运行他们的例子吗?
  • 嗯。好吧,也许他们的文档已经过时了,您实际上需要将这些库添加到类路径中。也许他们需要的较新版本的库确实需要包含 Spring。请尝试包含所需的 Spring 库,看看会发生什么。
  • “示例”文件夹内的下载中包含一个 README。
猜你喜欢
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
相关资源
最近更新 更多