在java中模拟一个不是参数的方法中的对象,类似于下面的python代码?
下面是一个非常酷的 python 模拟,有没有办法在 java 中也能做到这一点?
mockpath = os.path
mockpath.isdir = Mock(return_value=False)
myObj = MyClass()
myObj.invoke_some_method()
myObj.some_other_method.assert_called_with(False)
在java中可能有这样的事情吗?意味着以如此方便的方式更新在其他对象方法内实例化的对象的返回值和行为?有什么框架可以做得这么好吗?
谢谢
following is a very cool mocking with python, is there anyway to do that also in java?
mockpath = os.path
mockpath.isdir = Mock(return_value=False)
myObj = MyClass()
myObj.invoke_some_method()
myObj.some_other_method.assert_called_with(False)
is anything like this possible in java? meaning updating the return values and behavior of objects instantiated inside other object methods in such a convenient way? any framework to do that so nicely?
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Mockito 支持部分模拟以及模拟真实类中的方法。后者看起来更类似于您的 Python 示例。
我相信 EasyMock 支持同样的功能,但我无法找到它在文档中的位置。
Mockito supports partial mocks as well as mocking out a method in a real class. The latter looks more similar to your Python example.
I believe EasyMock supports the same thing but I'm having trouble finding where it is in the documentation.
我发现 powermock 库在 java 中最适合这个,并且最类似于mocks.py
I found that powermock library is the most suitable for this in java and most resembels mocks.py