Использование 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
я не хочу использовать макет и вызывать TestAccess.java
следующим образом
@Test
public void doTest()
{
TestAccess test=TestAccess.getTestAccess();
}
B.java
при независимом запуске реальный экземпляр TestAccess
возвращается и работает нормально.
Однако во время запуска maven он терпит неудачу, так как даже в B.java
TestAccess.getTestAccess()
возвращает макет, определенный в A.java
, а не реальный экземпляр, как ожидалось.
Может ли кто-нибудь подсказать, как это можно решить.