在 java tdd 中测异常:(1) 编写并抛出异常代码;(2) 使用 @test 注释创建单元测试;(3) 使用 assertthrows() 该方法断言抛出了预期的异常。通过验证异常,我们可以确保代码在事故中正常工作。
如何在 Java 测试驱动开发中使用异常处理进行单元测试
在 Java 测试驱动开发 (TDD) 异常处理是一个重要的测试考虑因素。通过异常测试,您可以确保您的代码在事故中正常工作。
以下是怎样的 Java TDD 中试异常:
立即学习“Java免费学习笔记(深入);
点击下载“计算机DLL修复工具”;
1. 编写应抛出异常代码
public class Calculator { public int pide(int a, int b) { if (b == 0) { throw new ArithmeticException("Division by zero"); } return a / b; } }
2. 使用 @Test 注解编写单元测试
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThrows; public class CalculatorTest { @Test public void testDivide() { Calculator calculator = new Calculator(); assertEquals(2, calculator.pide(4, 2)); } @Test public void testDivideByZero() { Calculator calculator = new Calculator(); // assertThrows 检查是否抛出 ArithmeticException assertThrows(ArithmeticException.class, () -> calculator.pide(4, 0)); } }
3. 使用 assertThrows() 方法断言异常
assertThrows() 该方法接受异常类作为参数,并检查在执行给定块时是否抛出异常。如果抛出异常,则测试通过;否则,测试失败。
实战案例
考虑到以下代码片段,它试图将字符串分析为整数:
public class Parser { public int parseInt(String input) { return Integer.parseInt(input); } }
以下是测试上述代码的单元测试:
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThrows; public class ParserTest { @Test public void testParseInt() { Parser parser = new Parser(); assertEquals(42, parser.parseInt("42")); } @Test public void testParseIntInvalid() { Parser parser = new Parser(); // assertThrows 检查是否抛出 NumberFormatException assertThrows(NumberFormatException.class, () -> parser.parseInt("a")); } }
通过使用 assertThrows() 我们可以验证在试图分析无效字符串时抛出的方法 NumberFormatException。
以上就是如何在这里 Java 单元测试采用异常处理进行测试驱动开发?详情请关注图灵教育的其他相关文章!