我正在编写一个JUnit测试用例,用于测试hibernateentity的findBy
方法。实体从tomcat托管的数据源中获取数据库连接。
JUnit测试案例:
MyHibernateEntity entity = new MyHibernateEntity();
expectedResult = entity.findByFK(dummyFK);
如何在tomcat容器内运行testcase ?除了数据源之外,我们没有任何其他Java EE容器内组件。这就是为什么我需要一个最少占用空间的框架。到目前为止,我尝试了以下方法:
- Arquillian -太复杂而无法实现。大量的配置。
- 仙人掌-它有3类扩展。
ServletTestCase, JspTestCase and FilterTestCase
。不确定哪一个适用于我的情况。 DBUnit -在
JUnit in Action
中阅读它。我不知道它是否适用于容器数据源。注意:我理解这个测试用例不是一个纯粹的单元测试。我正在一个遗留系统中引入JUnit,没有时间解决集成问题。
你可以只是模仿你的数据源吗?
https://code.google.com/p/mockito/使用TomcatJNDI,您可以从类内部访问所有JNDI资源,就像它们在Tomcat Server中运行一样。要通过JNDI查找访问资源,您必须编写像
这样的代码TomcatJNDI tomcatJNDI = new TomcatJNDI();
tomcatJNDI.processContextXml(contextXmlFile);
tomcatJNDI.start();