2

我写了一个方法来检索某些字符串列表,给定一个正确的字符串键。现在,当我创建一个列表(通过上一句中描述的方法检索的列表)并创建测试时,我可以轻松获得结果并成功通过测试。

另一方面,如果我将此列表的内容保存到数据库中的 2 列中,key并且value我编写了一个类,该类使用其中的方法检索这些项目。当我将它打印出来以控制台预期结果是正确的时,现在我从应用程序上下文初始化我的 DAO,在它的 bean 内部它获取会话并且因为 DAO 工作。

现在我正在尝试编写一个模拟 DAO 的测试,因为我不在服务器上运行本地测试..所以我告诉 jmock 模拟它:

private MyDAO myDAO;

在设置()

myDAO = context.mock(MyDAO.class);

我想我是否正确地模拟了它,我怎样才能从数据库中模拟这些数据?什么是最好的方法?

有没有好的 Jmock 文档?在他们的官方网站上它不是很好和清晰,你必须知道你在寻找什么才能找到它,同时不能发现一些很酷的东西。

或者有人可以用这种方法帮助我:

如何创建仅用于测试的应用程序上下文,以在服务器上实例化 DAO 和少数 bean。所以我可以在测试中使用它吗?也欢迎提出建议,解释。谢谢你

4

2 回答 2

2

这篇文章和这篇文章描述了如何以及为什么要测试 DAO。(如果您不使用它们,您可以轻松地将 spring 和 maven 从示例中分离出来——关键是使用 HSQLDB)

于 2010-04-01T08:50:45.907 回答
0

MyDAO 是一个接口,你只能做一个接口的mock。

于 2011-04-22T15:54:10.060 回答