Модуль Grails Unit Test - протестируйте сервис, который использует метод findAllBy*

У нас есть Grails 2.2.1 на проекте. Я хочу проверить сервис. В этом сервисе я использую dynamicFinder (findAllBy...), но результатом этого поиска при использовании в модульном тесте с использованием доменных макетов является EmptyList. Но когда я смотрю в UserRole.list(), есть 3 UserRoles для одного и того же пользователя. Кажется, что Domain.findAllBy... сломан в поддельных доменах.

Класс Domain выглядит следующим образом:

class UserRole implements Serializable {
  User user
  Role role

  static mapping = {
    table      name:      "Sec_User_Sec_Role"
    id         composite: ['role', 'user']
    version    false
  }
}

И тест выглядит так:

@TestFor(UserService)
@Mock([User, UserRole, Role])
@TestMixin([DomainClassUnitTestMixin])
class UserServiceTests {
  // setup to create User, UserRole and Role
  // test the service
}

И сервис выглядит так:

class UserService {
 ....
   private List<UserRole> findExistingUserRolePairs (final User user) {
      return UserRole.findAllByUser (user)
   }

0 ответов

Другие вопросы по тегам