我们有一个n层Web应用程序,可以从SQL Server中提取数据.我们的数据访问逻辑返回一个SqlDataReader,其数据随后用于创建我们的Business对象(也称为数据传输对象).
我们希望构建单元测试以检查我们的代码,这些代码解释这些SqlDataReader对象返回的数据以构建我们的Business对象.
因此,在单元测试期间,似乎需要构建存根来替换SqlDataReader对象.可能相当典型,我们的SqlDataReader对象通常返回多个记录集,每个记录集都有多行.
提前谢谢了
格里夫
我的应用程序连接到db并从此处获取类别树.在调试方案中,我可以看到这个大树对象,我只想到能够将这个对象保存在磁盘上的某个地方,以便在测试存根中使用.像这样:
mockedDao = mock(MyDao.class);
when(mockedDao.getCategoryTree()).thenReturn(mySavedObject);
Run Code Online (Sandbox Code Playgroud)
假设mySavedObject- 足够大,所以我不想手动生成它或编写特殊代代码.我只是希望能够在调试会话期间将其序列化并保存在某处,然后对其进行反序列化并传递给thenReturn测试.是否有标准的方法可以这样做?如果不是如何更好地实施这种方法?
是否有任何工具或库可用于使用JPA或实体bean生成测试数据?我相信这对于单元测试非常有用,在单元测试中,我们可以拥有一个内存数据库,并在开始测试时就动态生成数据。因此,将不会与实际的数据库服务器进行通信,也不会浪费任何时间。
我只能找到JPAMock。但是它仍在开发中。如果有人可以提供良好的指示,那将是很好的。
非常感谢。
unit-testing hibernate stub-data-generation data-generation jpa-2.0