【发布时间】:2012-08-29 00:00:57
【问题描述】:
是否可以使用 Mockito 和/或 PowerMockito 模拟类对象?
类似:
Class<Runnable> mockRunnableClass = mock(Class<Runnable>.class);
【问题讨论】:
-
是的...这告诉我如何模拟最终类,但它没有告诉我如何模拟 Class 对象。
-
Java 泛型使用类型擦除,所以
Class<Runnable>.class不正确。Class是final,但无论如何你都可以使用 PowerMock。 -
你想模拟“类”的用例是什么?上课很常见——只是好奇。
-
如果你的测试发现了一个错误会发生什么?你不可以修吗?
-
我没有声称文档是这样说的,它确实如此。我引用了它。 Mockito 并非旨在支持部分模拟。此外,我从未说过我不能更改代码来修复错误。修复错误和更改类的接口是两件非常不同的事情。第二个影响类的任何用户并迫使他们重写他们的代码。你不知道我在做什么的完整背景,所以当我说重构不是一种选择时,请不要忽视我。
标签: java junit mockito powermock