Junit预期异常失败

时间:2011-11-28 12:35:11

标签: java junit

我正在尝试测试一个抛出StreamCorruptedException的load方法。但是当我用junit 4测试时,测试失败了。

我的加载方法:

 public BookDataProvider(String filename) throws StreamCorruptedException { ... }

我的测试班:

public class TestClass {
   @Test (expected=StreamCorruptedException.class)
   public void wrongFileTest() throws StreamCorruptedException  {
       BookDataProvider bdp = new BookDataProvider("wrong filename");
   }
}

该方法抛出异常,但测试失败。我做错了什么?

1 个答案:

答案 0 :(得分:1)

从您的代码中,我看到您的测试将错误的文件名传递给BookDataProvider构造函数,这不会导致StreamCorruptedException,它只会导致IOException。 StreamCorruptedException由于数据的反序列化失败而发生,这主要是由于用于写入和读取的流的差异。例如,如果没有使用ObjectOutputStream编写数据,则在尝试使用ObjectInputStream读取数据时会发生这种情况。