gpt4 book ai didi

使用通用代码的 Java 单元测试

转载 作者:行者123 更新时间:2023-11-29 04:18:57 24 4
gpt4 key购买 nike

我是 Java 的新手,如果这是一个愚蠢的问题,请提前致歉。

我注意到我正在编写冗余代码,因为我的测试用例正在测试具有同一对象的不同属性的类似行为。

@Test
public void testInvalidA() {
obj.setA(null)
//verify exception thrown if A is null
}

@Test
public void testInvalidB() {
obj.setB(null)
//verify exception thrown if B is null
}

有什么方法可以简化它吗?

谢谢!

最佳答案

您可以使用 assertj。示例代码是这样的,

@Test
public void testObjectsAreValid() {
assertThatExceptionOfType(ExpectedException.class)
.isThrownBy(obj.setA(null);
assertThatExceptionOfType(ExpectedException.class)
.isThrownBy(obj.setB(null);
}

assertj 为一些常见的异常提供了直接的方法。

assertThatIllegalArgumentException().isThrownBy(() -> obj.setB(null));

检查 here获取更多文档。不过,我同意 Dawood 的观点,将每个测试分开且清晰。

关于使用通用代码的 Java 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50458445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com