【问题标题】:Automated testing of file generation and validation of file contents自动测试文件生成和文件内容验证
【发布时间】:2014-09-11 22:28:29
【问题描述】:

我们有一个 java web 应用程序,它生成文件 (zip) 并将其放到文件系统中。有没有办法将其带入测试自动化领域 - 即验证 a) 文件/数据包已生成 b) 数据包内容匹配和 c) 单个文件具有必要的数据。数据包的内容通常是 pdf、txt 和 xml 文件

是否有任何工具/方法可以有效地测试这个

【问题讨论】:

    标签: java file unit-testing


    【解决方案1】:

    您可以使用来自 Junit 的TemporaryFolder

    TemporaryFolder Rule 允许创建保证在测试方法完成时被删除的文件和文件夹(无论是通过还是失败)

    public class HasTempFolder {
        @Rule
        public TemporaryFolder folder = new TemporaryFolder();
    
        @Test
        public void testUsingTempFolder() throws IOException {
            File createdFile= folder.newFile("myfile.txt");
            File createdFolder= folder.newFolder("subfolder");
            // ...
        }
    }
    

    对于检查文件内容,FileUtils from Apache Commons IO 有很多非常有用的方法。

    【讨论】:

      【解决方案2】:

      TDD 方式是注入处理实际文件写入的模拟对象。

      实际上,您可以只使用 JUnit 为测试用例的生命周期自动创建临时目录(使用 TemporaryFolder 规则;请参阅 http://junit.org/javadoc/4.9/org/junit/rules/TemporaryFolder.html)。

      【讨论】:

        【解决方案3】:

        我有与您类似的任务,但采用 XLSX 格式。也许我的方法可以帮助你:

        • 关于a)可以使用代码异常处理逻辑(预期行为、错误代码)
        • 关于b)c),您可以结合代码来验证文件的校验和(参见herehere

        在我的例子中,我有 report_generator,它打印诸如 execution_flow、回归等结果。 所以作为底线 - 是的,这绝对必须放入realm of test automation

        • 干杯

        【讨论】:

          猜你喜欢
          • 2016-10-20
          • 2016-09-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-03
          • 1970-01-01
          • 2018-05-16
          • 1970-01-01
          相关资源
          最近更新 更多