【发布时间】:2014-11-24 16:43:42
【问题描述】:
我正在使用 mockito 并使用 java6 和 spring 进行开发。
我正在为一些开发人员开发一个测试 API,并且我提出了一些模拟对象和方法的方法(这是一个遗留代码......)。 现在,我想用 mockito 替换所有这些东西,但我总是提出一个测试 API。所以,我开发了一些使用 mockito 的方法。
我有一个带有两个参数(字符串)的旧方法。第一个参数是模拟的服务 id 及其带有参数的方法。第二个参数是返回的对象。 示例:
mockReturnObject("myServiceId.myMethod(String, Integer)", myReturnedObject);
现在,我想使用 mock、when 和 thenReturn mockito 方法,但我不知道如何... 也许使用反射但使用“何时”方法是不可能的,因为mockito需要有效的方法。 我怎样才能做到这一点 ?谢谢。
【问题讨论】:
-
我不明白为什么你不能直接在“真实的东西”上使用mockito?是你要模拟的类(或任何方法)
final? -
你问如何解析“myServiceId.myMethod(String, Integer)”?如果是这样,恐怕这不太可能。
-
我认为最好有一个更具体的例子来说明你想在这里测试什么。一个完整的测试方法,完整的场景或某事。它是在模拟自制的模拟框架吗?
-
我不能直接使用 mockito。我正在研究一个框架。这是一个遗留代码......我必须为开发人员隐藏 mockito,因为它们不需要管理版本等。我必须解析“myServiceId.myMethod(String, Integer)”并模拟 bean myServiceId,最后返回“myMethod” ... 例如:我有一个 bean“MyBean1”,在里面有另一个 bean“MyBean2”。在“MyBean1”测试类中,我必须用这个方法模拟“MyBean2”:mockReturnObject("myServiceId.myMethod(String, Integer)", myReturnedObject);在里面,我想使用mockito。就这样。谢谢。
-
我不想在应用程序中模拟某些东西。我正在开发一个框架,开发人员不能直接使用 mockito。
标签: java spring unit-testing mockito