使用 JMock 如何模拟 Class的参数?

发布于 2024-12-04 21:07:14 字数 347 浏览 1 评论 0原文

我正在使用 jMock,但我对如何模拟我想要成为任何实体类的参数感到困惑?

这是我试图匹配的方法:

public <T> List<T> find(Query query, Class<T> entityClass) { }

这是我得到的。我想匹配第二个参数上的任何内容:

allowing(template).find(with(any(Query.class)), Foo.class);

因为我在第一个参数上使用了 with ,所以它不起作用。我基本上想模拟这个方法,无论存在什么参数。

I am using jMock and I am confused as to how to mock an argument that I want to be any entityClass?

Here is the method I am trying to match:

public <T> List<T> find(Query query, Class<T> entityClass) { }

Here is what I got. I want to match anything on the second parameter:

allowing(template).find(with(any(Query.class)), Foo.class);

which doesn't work since I used with on the first parameter. I basically want to mock this method no matter what arguments are present.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

当爱已成负担 2024-12-11 21:07:14

我改用忽略方法来满足我的需求:

ignoring(myTemplate);

I switched to using the ignoring method to meet my needs:

ignoring(myTemplate);
与往事干杯 2024-12-11 21:07:14

如果您只想忽略模拟对象中的一个方法,您也可以编写:

allowing(template).find(with(any(Query.class)), with(any(Class.class))); 

If you only want to ignore that one method in your mock object, you could also write:

allowing(template).find(with(any(Query.class)), with(any(Class.class))); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文