将 EasyMock 与 TestNG 结合使用
Using EasyMock with TestNG
我知道有两种方法可以在 JUnit 中使用 "Mock" 和 "TestSubject" 注释。第一个 - 是为包含由这些注释标记的字段的 class 的 RunWith 注释指定 EasyMockLoader class 对象。第二个 - 是用 "Rule" 注释标记 EasyMockRule 字段。如何在 TestNG 中使用 "Mock" 和 "TestSubject" 注释?
据我所知,EasyMock 不支持开箱即用的 TestNG,但 PowerMock 支持。
也许使用 PowerMock + EasyMock + TestNG 会很有魅力。
否则,大约 @Mock
,您将不得不使用 a configuration method (a @BeforeX
method) or an appropriate listener 自行管理它(查找字段、创建模拟并注入它们)。
另一种解决方案可能是使用 the Guice integration 并在 Guice 模块中进行模拟。
@TestSubject
的相同解决方案:配置方法或侦听器。
不直接支持 TestNG。但是您可以通过
很容易地使用注释注入模拟
EasyMockSupport.injectMocks(this);
(来自你的测试 class)
我知道有两种方法可以在 JUnit 中使用 "Mock" 和 "TestSubject" 注释。第一个 - 是为包含由这些注释标记的字段的 class 的 RunWith 注释指定 EasyMockLoader class 对象。第二个 - 是用 "Rule" 注释标记 EasyMockRule 字段。如何在 TestNG 中使用 "Mock" 和 "TestSubject" 注释?
据我所知,EasyMock 不支持开箱即用的 TestNG,但 PowerMock 支持。 也许使用 PowerMock + EasyMock + TestNG 会很有魅力。
否则,大约 @Mock
,您将不得不使用 a configuration method (a @BeforeX
method) or an appropriate listener 自行管理它(查找字段、创建模拟并注入它们)。
另一种解决方案可能是使用 the Guice integration 并在 Guice 模块中进行模拟。
@TestSubject
的相同解决方案:配置方法或侦听器。
不直接支持 TestNG。但是您可以通过
很容易地使用注释注入模拟EasyMockSupport.injectMocks(this);
(来自你的测试 class)