использование аннотаций Java в механизме шаблонов rythm

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

@Test

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

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)

person Wolfgang Fahl    schedule 09.10.2015    source источник


Ответы (2)


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

 @org.junit.Test
person Judith Lambertz    schedule 10.10.2015

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

person Gelin Luo    schedule 11.10.2015