【发布时间】:2009-11-09 19:45:49
【问题描述】:
我们有一个基于 Spring + Ibatis 的 J2EE 应用程序。我计划用测试用例来包装我们的 DAO(调用 iBatis 模板……通过获取 spring bean)。我对 JUnit 没有太多经验,所以我认为只需创建我的 DAO 的一个对象,然后调用其中一个方法就可以了。但我错了,原来整个 J2EE 应用程序在 appserver(容器)上运行,但显然 JUnit 测试用例在容器之外。所以,在我的测试用例中,当我创建 dao 的对象并调用一个方法时......它在我的 DAO 方法中的这样一行上失败了
ApplicationInitializer.getApplicationContext().getBean("myMapclientBean");
所以我在 Google 上进行了搜索……偶然发现了一些帖子,并按照我最终找到了 Spring 的 4 day training course 的试管。
想听听你对这门课程的看法吗?对得起价格吗?一个人也可以自己学习这些东西吗?通过跟随几本书? (也许不是 4 天,而是一个月以上)。
哦,我仍然无法对这些 DAO 进行单元测试...>_
【问题讨论】:
-
如果你在测试中接触了数据库,那么它就不是单元测试;这是一个集成测试。现在使用 JUnit 也可以进行集成测试是完全可以的,但是您需要注意其中的区别。 Spring 为 JUnit 和 TestNG 提供集成测试支持 - 查看参考手册。
-
谢谢。知道这种差异也将帮助我进行谷歌搜索。
-
您可能想打开一个新问题来处理单元测试问题。这样你可能会得到更好的回应,因为这个真的更多是关于核心弹簧课程的。
标签: java spring jakarta-ee junit