java - 如何对异常进行单元测试?

标签 java junit

如您所知,异常情况下会引发异常。那么如何模拟这些异常呢?我觉得这是挑战。对于这样的代码片段:

public String getServerName() {
    try {

        InetAddress addr = InetAddress.getLocalHost();
        String hostname = addr.getHostName();
        return hostname;
    }
    catch (Exception e) {
        e.printStackTrace();
        return "";
    }
}

有人有好的想法吗?

最佳答案

您可以告诉 junit 正确的行为是获取异常。

在 JUnit 4 中,它类似于:

@Test(expected = MyExceptionClass.class) 
public void functionUnderTest() {
    …
}

关于java - 如何对异常进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305453/

相关文章:

java - Android:以编程方式设置权重参数与我想要的相反

java - 如何使用 FetchType.EAGER

java - HTTP 基本身份验证 Java

spring - 这是做什么的 : @RunWith(SpringJUnit4ClassRunner. 类)

java - JUnit 断言、匹配器和嵌套对象

testing - 将几个 grails 测试类中使用的可重用测试方法放在哪里

java - 模拟 BindingProvider 和生成的 stub 类时出现问题

java - 为什么 javac(编译器)和 java(JVM)都需要在类路径中提及外部依赖项?

java - 使用 java 的正则表达式查找子字符串

java - 如何在 Eclipse 中创建预格式化的 Java 文件?