2013-06-07 1 views
1

У меня есть перечислениеGrails - Не может блок тестирование перечисления, расположенное в пакете домена/папка

public enum Foo { 
    FOO1(true) 
    FOO2(false) 
    FOO3(true) 

    boolean respectACondition 

    Foo(boolean isRespecting) { 
     respectAContidion = isRespecting 
    } 

    boolean isRespecting() { 
     this.respectACondition 
    } 
} 

И тестового класс

class FooTests { 

     @Test 
     void test() { 
      assert Foo.FOO1.isRespecting() 
      assert !Foo.FOO2.isRespecting() 
      assert Foo.FOO3.isRespecting() 
     } 
} 

Но я получил эту ошибку:

орга. codehaus.groovy.grails.exceptions.GrailsConfigurationException: Невозможно добавить класс домена [класс Foo]. Это не домен!

Кажется, что grails запускает автоматический фон GrailsUnitTestMixin в классе Foo, вычитая его именем класса. Если я переименую его, он работает (но это слишком просто, я хочу знать, в чем проблема). Что я делаю неправильно? Нужно ли мне переводить свой ресурс за пределы каталога домена?

+2

Перечисление не является доменом. Поэтому он не должен находиться в папке домена. Я помещаю все свои перечисления в папку src на соответствующем языке (обычно groovy). – Gregg

ответ

2

Я переместил свой enum в папку src \ groovy и исправил проблему.