Использование java-аннотаций в шаблонном движке rythm

В стремлении сделать тесты JUnit частью того, как мы используем Ryhtm, мы пришли к фрагменту кода ниже. Все прошло хорошо, пока мы не добавили

@Test

который, очевидно, является аннотацией Java и использует маркер @ в качестве элемента синтаксиса, который также используется Rythm. Как достичь желаемого эффекта, чтобы получить @annotation? Просто избежать @@ не работает, это дает

Syntax error on token "@", delete this token

ошибка. Итак, как можно использовать аннотацию Java @?

Я также подал это как сообщение об ошибке на https://github.com/greenlaw110/Rythm/issues/285

@// This is a rythm template
@import static org.junit.Assert.*
@import org.junit.Test.*
@def static {
  class TestMe {
    String name;
    @Test
    public void testMe() {
      name="test";
      assertEquals("test",name);
    }
  }
}
@{
  TestMe testme=new TestMe();
  testme.name="testme";
}
The TestMe has the name @(testme.name)

2 ответа

Решение

Если вы используете полностью соответствующую аннотацию, она должна работать:

 @org.junit.Test

@import org.junit.Test.* в вашем шаблоне код должен быть @import org.junit.Test, Обратите внимание, что .* нужно снять

Другие вопросы по тегам