如何比较JUnit测试用例中的文件?

Sai*_*ios 21 java junit unit-testing text-files

我想在我正在研究的一个小项目上实现JUnit,因为我想了解一下它.

我读过的教程都引用了具有特定输出的方法.

在我的情况下,我的输出是文件,我该怎么做?任何简单的例子?任何可以帮助我的方法?

这些文件是由void私有方法构建的原始文本文件.

Jon*_*man 23

您希望为给定的输入集获取正确的输出文件,并设置测试以使用这些输入调用void方法,然后将验证的输出文件与您的方法生成的内容进行比较.您需要确保有某种方法来指定方法输出的位置,否则您的测试将非常脆弱.

@Rule
public TemporaryFolder folder = new TemporaryFolder();

@Test
public void testXYZ() {
    final File expected = new File("xyz.txt");
    final File output = folder.newFile("xyz.txt");
    TestClass.xyz(output);
    Assert.assertEquals(FileUtils.readLines(expected), FileUtils.readLines(output));
}
Run Code Online (Sandbox Code Playgroud)

使用commons-io FileUtils进行方便的文本文件比较和JUnit的TemporaryFolder,以确保输出文件在测试运行之前永远不存在.

  • 你总是可以自己投票 (2认同)