gpt4 book ai didi

java - 是否需要为这种 Mockito 情况编写自定义匹配器?

转载 作者:行者123 更新时间:2023-11-29 07:21:06 24 4
gpt4 key购买 nike

我有以下情况...我想在调用特定方法时抛出异常。我不关心传递给这个方法的是什么,我只想调用一个异常。问题在于此方法将自定义类作为参数。

我发现唯一的方法是使用以下方法:

// Matches any Foo
TypeSafeMatcher<Foo> fooMatcher = new TypeSafeMatcher<Foo>() {
@Override
public Boolean matchesSafely(Foo foo) {
return true;
}

// more overrides
}

doThrow(new RuntimeException("dummy exception")).when(mockObj).someMethod(fooMatcher);

我尝试执行以下操作,但收到类似于“无法将 Object 转换为 Foo”的消息...这是有道理的:

doThrow(new RuntimeException("dummy exception")).when(mockObj).someMethod(anyObject());

我想知道是否有更简单的方法来执行此操作而无需为每个自定义类创建自定义匹配器?

谢谢

最佳答案

你试过 isA 匹配器了吗?

doThrow(new RuntimeException("dummy exception")).when(mockObj).someMethod(isA(Foo.class));

关于java - 是否需要为这种 Mockito 情况编写自定义匹配器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4381415/

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