使用JUnit测试类 -
有一个名为TestAccess.java
的类,其中包含
static private TestAccess instance = new TestAccess();
public static TestAccess getTestAccess() {
returns instance;
}
为了测试一个测试类 A.java
,使用 JMockit 来模拟 getTestAccess
方法
@Mock
TestAccess mockTestaccess;
@Test
public void testMethod() {
new MockUp<TestAccess>() {
@mockit.Mock
public TestAccess getTestAccess() {
return mockTestaccess;
}
};
TestAccess test=TestAccess.getTestAccess();
}
在另一个类 B.java
中,我不想使用 mock 并调用 TestAccess.java
如下:
@Test
public void doTest()
{
TestAccess test=TestAccess.getTestAccess();
}
B.java
如果独立运行,会返回真正的TestAccess
实例并且能够正常工作。
但是在maven运行期间,即使是在B.java
中,TestAccess.getTestAccess()
也会返回在A.java
中定义的模拟对象而不是预期的真实实例。
请问有谁能指导如何解决这个问题。