Я просматриваю форумы весь день, пытаясь насмехаться над классом, но ни одно из решений не помогло мне, и я понятия не имею, что я делаю неправильно (я новичок в Java тестировании) .
У меня есть этот (переименованный) класс, который я хочу протестировать, в основном каждое условие, чтобы убедиться, что они работают:
public class MyClass {
public static List<Object> MyClass(@NotNull Session session, @NotNull MyObject updated, @NotNull Mode mode)
throws Exception {
ModeList modes = MyUtil.geModes(mode);
try {
final Transaction tr = updated.getTransaction();
MyObject original;
if(tr == null) {
original = new Foo().getCurrentBar(session, updated.getKey(), null, "en");
} else {
original = new Foo().getOtherBar(session,
updated.getKey(),
tr.getProp1().intValue(),
tr.getProp2().intValue(),
"en");
}
return SomeClass.check(updated, original, modes);
} catch (Exception ex) {
// handle
}
return null;
}
}
Обратите внимание, что я не могу изменить это (или Foo class) / добавить внедрение зависимости, его нужно протестировать как есть. Я пробовал mockito, powerMock mock, mockStati c, частичные mock, et c, все они терпят неудачу по той или иной причине, и вызывается настоящий getCurrentBar / getOtherBar.
Возможно, я получаю туннель зрение на данный момент, но, пожалуйста, сообщите.