У меня есть следующий тест JUnit:Groovy Атрибут должен иметь тип «java.lang.Integer», но нашел типа «java.lang.Object»
public class JavaTest {
final int value = 2;
@Test
@Repeat(times = value)
public void test() {
fail("Not yet implemented");
}
}
@Repeat
аннотацию исходят от easytest-core и точного определение - here.
Когда я компилирую это как источник java, все строит (и работает) отлично. Когда я скомпилирую то же самое, что и groovy source, я получаю:
Groovy: Атрибут 'times' должен иметь тип 'java.lang.Integer'; но нашел типа «java.lang.Object» в @ org.easetech.easytest.annotation.Repeat GroovyTest.groovy
Обыскав интернетах, я нашел несколько подобных дискуссий по SO и jira.codehaus, но эти сделки с String - проблемы с GString, поэтому решения для меня не работают.
Как это исправить?
Обновления:
- java.version = 1.7.0_76
- groovy.version = 2.3.7
Вы пробовали 'final Integer' вместо' final int'? –
@tim_yates У меня сейчас. : p Groovy сообщает о той же проблеме. Java теперь сообщает «Несоответствие типов: невозможно преобразовать из Integer в int». – SiKing
, где он сообщает об этом? с 'final ...' или с 'times ='? – cfrick