java - 测试方法还是try-catch?

标签 java junit4

我希望有人能告诉我通过 junit4 测试代码时遇到的场景的最佳实践。

我的伪代码如下:

public class TestClass {

    private String readFromFile(String filePath) {
          use BufferedReader, get content file input
          append BufferedReader to StringBuffer
          return string
    }

    @Test
    public void testMethodOne() {
          String s = readFromFile(C:\fileOne);
          doStuff(s);
    }
}

我遇到的问题是 BufferedReader 可能会抛出 IOException。如果 readFromFile() 方法不是我正在分类的测试中的方法(我只需要它用于这些测试场景),我是否用 @Test (expected = IOException.class) 注释它,或者我应该使用 try-catch block ?

非常感谢!

最佳答案

如果它抛出异常而您没有预料到它会抛出异常,那么这是一种异常情况。如果无法读取文件并且无法执行测试,则这是一个错误,与测试本身无关。

throws 添加到 readFromFile 方法以及使用它的测试方法中。

关于java - 测试方法还是try-catch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6308913/

相关文章:

java - 验证战舰板,二维数组,如何检查板有效性的可能性?

java - 最大 JDBC 批处理大小是多少?

java - 每个 BufferedWriter 实例只有一个 FileWriter 实例?

java - PersistenceException,列 'id' 指定两次

java - 简单的 JUnit 测试 assertTrue(true) 失败

java - 将命令行参数传递给以编程方式运行的 JUnit 测试用例

java - 空对象引用上的 void android.support.v7.widget.Toolbar.setTitle(java.lang.CharSequence)'

java - 使用 JUnit 在多线程环境中测试方法行为?

java - 使用 Maven 的 JUnit3 和 Junit4 XML 报告

java - 通过命令行在linux中编译Java类