该应用程序生成CSV、自定义/制表机等报告&为了对这些报告进行测试,我使用JUnit-4。
但是,有些方法以格式化的输出字符串的形式返回大量数据,必须将其转储到文件中。现在,我面临着为断言产生预期结果的问题。
那么
?
编辑:,我正在测试一种方法,它将输入作为从数据库中获取的ArrayList &然后为报表准备格式正确的字符串。基本上,它是从数据中生成CSV的。
另外,有人可以指出单元测试必须遵循的最佳实践不多。我已经浏览过各种各样的在线资源,但是联系不了多少。
发布于 2012-06-04 09:04:57
您要进行单元测试的方法是一种将数据作为参数并将其转换为CSV的方法。因此,它应该只是测试此转换是否有效,并且您应该向它提供最低限度的必要数据,以验证它在所有情况下都确实有效。
这个方法应该独立于从数据库中获取数据的方法,并且您不应该从数据库中获取大量的数据到单元测试这个方法。只需准备内存中的数据,并将其作为测试中数据转换方法的参数:
List<Foo> data = new ArrayList<Foo>();
data.add(createFooA());
data.add(createFooB());
String csv = myTestedObject.transformToCsv(data);
assertEquals("...", csv);https://stackoverflow.com/questions/10878371
复制相似问题