Вызов MockDomain, предоставляющий данные домена приспособления, не работает, что я упустил? Grails 2.0.1

Я пытаюсь сделать простую имитацию класса домена в модульном тесте для службы Grails в соответствии с документацией, но, похоже, это вообще не работает, поскольку запросы для экземпляров всегда возвращаются нулевой. Я пропустил что-то простое? Вот соответствующая часть моего кода, я изменил имена классов и тестовых методов для ясности:

@TestFor(MyService)
@TestMixin(DomainClassUnitTestMixin)

class MyServiceTests {


    void testMyThing() {
        defineBeans {anotherService(AnotherService)} //My service under test uses another service, unlikely relevant?

        MyUser.metaClass.isDirty = { //workaround for mockDomain not adding isDirty method.
            println("dirty check called");
        }

        mockDomain(MyUser, [
                [username: "email@gmail.com", accountType: UserType.STANDARD, id: 1L],
                [username: "user@gmail.com", accountType: UserType.STANDARD, id:3L],
                [username: "bizuser@domain.com", accountType: UserType.BUSINESS, id:2L]
        ])

        MyUser user1 = MyUser.get(1);
        System.out.println("user 1: ${user1}"); // output is 'user 1: null'

        MyUser user1byName = MyUser.findByUsername("email@gmail.com");
        System.out.println("user 1 by name: ${user1byName}"); // output is 'user 1 by name: null'

        ... the actual testing stuff which would love to have non null MyUser objects ...
 }        
}
7
задан Peter 14 March 2012 в 03:26
поделиться