JUnit测试失败,导致BufferedWriter抛出IOException

时间:2019-10-16 13:10:44

标签: exception junit junit5 filewriter bufferedwriter

我将JUnit 5与maven一起使用,并希望进行一些涉及文件I / O的压力测试。

在我的JUnit测试类中,我有一个@BeforeAll方法,该方法想创建要写入的文件。但是,当我运行测试时,setup()方法给出了错误

public class StressTest {
    String fileName = "stressTest.txt";
    BufferedWriter bufferedWriter;
    long start, finish, timeElapsed, iteration = 10;

    @BeforeAll
    public void setup() throws IOException {
        bufferedWriter = new BufferedWriter(new FileWriter(new File(fileName), true));
    }
...
}

由于某些原因,错误消息未显示异常的全名

JUnit @BeforeAll method 'public void StressTest.setup() throws ja...

我花了一些时间进行故障排除,但无济于事:( 问题可能是什么原因?

谢谢

1 个答案:

答案 0 :(得分:1)

这是完整的消息:

  

@BeforeAll方法“公共void StressTest.setup()引发java.io.IOException”必须是静态的,除非测试类使用@TestInstance(Lifecycle.PER_CLASS)注释。

您应该将其转换为静态方法,或者使用@Before而不是@BeforeAll。

您正在使用IDE吗? 我的显示了完整的异常消息。