【问题标题】:JUnit 5 test case for code that write files to file system. (Files.write)将文件写入文件系统的代码的 JUnit 5 测试用例。 (文件.write)
【发布时间】:2020-04-02 06:32:24
【问题描述】:

我对 Junit 还很陌生,我需要为具有代码语句的方法编写 JUnit 5 测试用例:

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

解决方案需要与 JUnit 5 兼容。

【问题讨论】:

  • 你可以用PowerMock模拟静态方法。

标签: java unit-testing junit junit5


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    相关资源
    最近更新 更多