Начнем с:
public void method() {
Helper helper = new Helper();
helper.display("hello")
}
Если у вас уже есть JMethod method
, вам сначала нужно создать экземпляр helper
:
JVar helper = method
.body()
.decl(
codeModel.ref(Helper.class),
"helper",
JExpr._new(codeModel.ref(Helper.class)));
Затем просто вызовите для него нужный метод:
method
.body()
.invoke(helper, "display")
.arg("hello");
Нет этого:
@Test
public void method() {
Assert.fail("message")
}
Это даже проще, вам нужно только сделать статический вызов. Нечто подобное:
method
.body()
.staticInvoke(codeModel.ref(Assert.class))
.arg("message");
Если вы заинтересованы в аннотации:
method
.annotate(Test.class);
Обратите внимание, что в приведенных выше вызовах я мог напрямую передавать строки в метод arg
(arg("message")
). Это просто удобный метод для строк. Если вы хотите использовать другие типы, такие как типы примитивов, вам нужно будет сделать что-то вроде JExpr.lit(12.34)
.