Grails 2.2.2: Тестване на прехващачи в ControllerTests с GMock

Когато нашата кодова база все още беше в Grails 2.1.4, този модулен тест за нашите прихващачи работеше с пълно покритие:

@Before
void setUp() {
   gmc = new GMockController()
   apiProducts = gmc.mock()

   api.products.returns(apiProducts).stub()

   controller.api = api
}

void testBeforeInterceptor() {
   // Arrange
   setUp()
   def ctrl = gmc.mock(controller)
   params.id = 1
   ctrl.actionName.returns('view')
   apiProducts.get(params.id)

   // Act
   gmc.play {
       controller.beforeInterceptor()
   }
}

След преминаване към Grails 2.2.2, изглежда, че това не покрива теста, както преди в 2.1.4. Грешката „Неочаквано извикване на метод“ се извиква, тъй като няма да премине през прихващачите, както преди във 2.1.4.

Имаше ли промяна в начина на тестване на прихващачите?

Търсих наоколо и изглежда, че никой няма отговор на това. Документацията за тестване на прехващачи е оскъдна. Някакви идеи?


person Ace Subido    schedule 25.06.2013    source източник


Отговори (1)


Grails не извиква прехващачи или сървлет филтри, когато извиква действия по време на интеграционното тестване. Трябва да тествате прехващачи и филтри изолирано, като използвате функционално тестване, ако е необходимо.

(Нетествано) Не ​​съм сигурен дали това е приложимо тук за GMock. Но документът интеграционните тестове споменава друго.

person dmahapatro    schedule 26.06.2013
comment
Разгледах и това, но благодаря, че го спомена :) - person Ace Subido; 26.06.2013