Невозможно запустить базовый тест JMockit
Это моя первая попытка использования jmockit. У меня есть проект gradle (весенняя загрузка). Гарантировал, что jmockit является первым в тестовом пути к классам.
compile "net.bytebuddy:byte-buddy:1.4.5"
testCompile "org.jmockit:jmockit:1.8"
testCompile "org.springframework.boot:spring-boot-starter-test"
И тогда я хочу подделать TranslatorFactory
такой, что он возвращает подделку Translator
,
Класс TranslatorFactory - это что-то вроде
public class TranslatorFactory {
public ArgTranslator getTranslator(Class<?> aClass) {
return new ArgTranslator() {
@Override
public Object translate(String arg) {
return "Real translation " + arg;
}
};
}
}
И мой тестовый класс отмечен @RunWith(JMockit.class)
@Test
public void testTranslatorFactory() {
new MockUp<TranslatorFactory>() {
public ArgTranslator getTranslator(Class<?> baseClass) {
return new MockUp<ArgTranslator>() {
public Object translate(String arg) {
return "Fake translation " + arg;
}
}.getMockInstance();
}
};
assertEquals("Fake translation something", new TranslatorFactory().getTranslator(String
.class).translate("something"));
}
Но я просто не понимаю, как это работает. Тест всегда не проходит. (Работает в IntelliJ)
org.junit.ComparisonFailure:
Expected :Fake translation something
Actual :Real translation something
Любая помощь / указатели будут с благодарностью.