2015-10-09 4 views
1

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

@Test 

, который, очевидно, является аннотацией Java и использует @ маркер в качестве элемента синтаксиса, который также используется ритмом. Как можно добиться желаемого эффекта, чтобы получить @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) 

ответ

1

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

@org.junit.Test 
1

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