Java 如何编写JUnit测试(用于文件写入)?

Java 如何编写JUnit测试(用于文件写入)?,java,xml,unit-testing,junit,filewriter,Java,Xml,Unit Testing,Junit,Filewriter,我是Java测试的新手。 我有一个将属性写入(ascidoc/.adoc)文件的类。属性是getter(来自XMLBeam)。 我该怎么处理呢。我该嘲笑什么,还是根本不嘲笑? 我只是想知道如何解决这样的问题。 那太好了 public void createFile(Definitions definitionsProjection, String locationToSafe) throws IOException { FileWriter fileWriter = new FileW

我是Java测试的新手。
我有一个将属性写入(ascidoc/.adoc)文件的类。属性是getter(来自XMLBeam)。
我该怎么处理呢。我该嘲笑什么,还是根本不嘲笑? 我只是想知道如何解决这样的问题。 那太好了

public void createFile(Definitions definitionsProjection, String locationToSafe) throws IOException {

    FileWriter fileWriter = new FileWriter(locationToSafe + "AsciiDoc.adoc", false);
         PrintWriter writer = new PrintWriter(fileWriter);

        writer.write("[.text-center]\n= " + definitionsProjection.Title() + "\n");
        writer.write("\n|===");
        writer.write("\n| Version | Date | Author | Comment\n");
        writer.write("\n| " + definitionsProjection.getVersion());
        writer.write("\n| " + definitionsProjection.getReleaseDate());
        writer.write("\n| " + definitionsProjection.getAuthor() + "| \n");
        writer.write("\n|=== \n");
}
我的第一个想法是模拟XMLBeam getter并将其写入文件。然后他们阅读文件,检查是否所有内容都符合要求。有更漂亮/更好的解决方案吗


提前感谢

测试是关于重新创建场景,然后期待出现一些东西。当您使用断言时,您可以定义您的期望和实际结果,并对它们进行比较。当期望值和结果相等时,你的考试就及格了

我建议您查看Junit 5或Baeldung指南的文档:

确保您考虑了各种可能的测试:如果找不到文件怎么办?什么是空文件

在此基础上构建您的测试方法,并用实际结果断言您的首选答案,看看您是否构建了可靠的代码。

我的第一个想法是模拟XMLBeam getter并将其写入文件中。然后他们阅读文件,检查是否一切正常,但这不是一个单元测试。单元测试应该测试完全隔离的代码,没有外部依赖/交互,因此在您的情况下,您也应该模拟
FileWriter