使Junit重用Tomcat context.xml

时间:2011-01-03 10:32:44

标签: tomcat junit

我不是java的专家,但是现在我继承了一些我需要做的工作的代码。我的目标是运行源测试套件。测试所需的(创建)bean需要一些环境设置。这些设置位于tomcat-root-dir / conf / context.xml中。 tomcat使用这些环境设置来部署Web应用程序。

我想用junit重用tomcat-root-dir / conf / context.xml,或者使testsuite工作。是否有一些标准方法来解析junit的context.xml?如果你能帮助我,我将不胜感激。

4 个答案:

答案 0 :(得分:1)

有一种解析XML的标准方法,因此您可以自由阅读任何您想要的文件并解析XML。

我假设你想要一个JNDI查找数据源或类似的东西。当然,问题在于,如果你坚持这条线,你就会加入Tomcat。

答案 1 :(得分:1)

JUnit4提供规则 ExternalResource 来处理资源:请参阅ExternalResource Core Rule

答案 2 :(得分:0)

我们采用了嵌入式glassfish服务器的方法。这不会重用tomcat context.xml,但可以访问外部资源。

答案 3 :(得分:0)

TomcatJNDI解决了这个问题。它可以处理Tomcat的配置文件并创建与Tomcat相同的JNDI环境,但无需启动服务器。因此,您可以在e中运行具有依赖于Tomcat的JNDI环境的类。 G。 JUnit测试。

TomcatJNDI tomcatJNDI = new TomcatJNDI();
tomcatJNDI.processContextXml(new File("tomcat-root-dir/conf/context.xml");
tomcatJNDI.start();

然后,您的类可以查找DataSource,就像它们在Tomcat中运行一样。

More about TomcatJNDI can be found here.