Próbuję wykonać test jednostkowy nad metodą nazwanej kwerendy i to nie działa, ponieważ używam metody grails.orm.HibernateCriteriaBuilder.createAlias, która nie wydaje się być zostać znaleziony przez Grails: "Brak sygnatury metody: grails.gorm.CriteriaBuilder.createAlias ()"Test jednostki Grails "CreateAlias" nie działa
Domyślam się, że problem polega na tym, że podczas testowania jednostki i kpienia z klasy, próbuje ona znaleźć metodę "grails.gorm.CriteriaBuilder" klasa, a nie grails.orm.HibernateCriteriaBuilder klasa, dlaczego? jakieś pomysły na rozwiązanie?
class Book{
static namedQueries = {
testMethod()
{
createAlias('name', 'james')
}
}
}
@Mock([Book])
class BookTests{
@Test
void myTest() {
Book.testMethod();
}
}
Błąd: Brak podpis metody: grails.gorm.CriteriaBuilder.createAlias ()
Właściwie czasami potrzebujesz aliasu - jest to jedyny sposób określenia lewego sprzężenia. Tak więc '' Book.withCriteria {createAlias ("autor", "a", JoinType.LEFT_OUTER_JOIN) lub {isNull ("a.name") eq ("a.name", "Fred")}} być całkiem przydatnym do testowania, ale o ile wiem, w żaden sposób nie da się tego przetestować - proszę mi pokazać, że jestem w błędzie! –