gpt4 book ai didi

java - 如何为显式抛出的异常编写 junit 测试

转载 作者:行者123 更新时间:2023-12-02 00:08:14 25 4
gpt4 key购买 nike

我有一个方法,它接受字符串,并检查它是否包含另一个字符串。如果是,则会抛出自定义异常。

Class Test{
String s2="test";
public void testex(String s1){
if(s1.contains(s2))
throw new customException();
}
}

我正在尝试为此编写一个单元测试:

@Test (expected = customException.class){
when(s1.contains(s2)
.thenThrow(new customException());
}

但是,我的测试失败,错误为 - java.lang.Exception: Unexpected exception, expected customException but was<org.mockito.exceptions.misusing.MissingMethodInvocationException>

最佳答案

这个测试似乎不是特别有用,但我相信你的问题是 Mockito 的 when() 需要对模拟对象进行方法调用。

@Test(expcted = CustomException.class)
public void testExMethod() {
@Mock
private Test test;
when(test.testEx()).thenThrow(CustomException.class);
test.testEx("test string");
}

关于java - 如何为显式抛出的异常编写 junit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58141599/

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