在tomcat容器中运行JUnit测试用例

时间:2013-03-21 15:26:02

标签: java unit-testing junit junit4 cactus

我正在编写一个JUnit测试用例,用于测试HibernateEnity的findBy方法。实体从tomcat托管的数据源获取它的数据库连接 JUnit测试用例:

MyHibernateEntity entity = new MyHibernateEntity();

expectedResult = entity.findByFK(dummyFK);

如何在tomcat容器中运行testcase?除数据源之外,我们没有任何其他Java EE容器内组件。这就是为什么我需要一个脚印最少的框架。 直到现在我已经尝试过:

  1. Arquillian - 实施起来太复杂了。很多配置。
  2. Cactus - 它有3个类可以扩展。 ServletTestCase, JspTestCase and FilterTestCase。不确定哪一个适用于我的情况。
  3. DBUnit - 在JUnit in Action中阅读。我不知道它是否适用于容器数据源。

    注意:我理解这个测试用例不是纯粹的单元测试。我在遗留系统中引入JUnit,没有时间解决集成问题。

2 个答案:

答案 0 :(得分:0)

你可以嘲笑你的数据源吗?

https://code.google.com/p/mockito/

答案 1 :(得分:0)

使用TomcatJNDI,您可以从类中访问所有JNDI资源,就像它们将在Tomcat服务器中运行一样。要通过JNDI查找访问资源,您必须编写类似

的代码
TomcatJNDI tomcatJNDI = new TomcatJNDI();
tomcatJNDI.processContextXml(contextXmlFile);
tomcatJNDI.start();