Java JUnit5测试用例,用于将文件写入文件系统的代码。(Files.write)

Java JUnit5测试用例,用于将文件写入文件系统的代码。(Files.write),java,unit-testing,junit,junit5,Java,Unit Testing,Junit,Junit5,我是Junit的新手,我需要为一个包含代码语句的方法编写Junit 5测试用例: public void method() { // some code Files.write(filepath) // some more code } 这段代码是否会在每次运行单元测试时创建新文件 有没有一种方法可以为这种场景编写单元测试,在这种场景中,文件不会被创建,或者在测试方法执行完成后自动删除 解决方案需要与JUnit5兼容 我使用了JUnit5的临时目录(@TempDir

我是Junit的新手,我需要为一个包含代码语句的方法编写Junit 5测试用例:

public void method() {
    // some code
    Files.write(filepath)
    // some more code
}
  • 这段代码是否会在每次运行单元测试时创建新文件
  • 有没有一种方法可以为这种场景编写单元测试,在这种场景中,文件不会被创建,或者在测试方法执行完成后自动删除

解决方案需要与JUnit5兼容

我使用了JUnit5的临时目录(
@TempDir
)功能来创建一个临时目录,然后将目录路径传递给
文件。write()
方法(当然还有文件名)。测试执行完成后,
@TempDir
将删除它创建的文件和临时文件夹。这样,我就能够执行测试用例。

您可以使用
PowerMock
模拟静态方法。