Как jUnit утверждать обновление контроллера Grails столбца базы данных?

У меня есть контроллер Grails, который принимает простую строку и обновляет столбец в БД по идентификатору. Я хочу написать тест jUnit для этой операции, чтобы убедиться, что обновление прошло правильно....

  @Test
 void "testUpdateNameOnMonsterById"() {

    controller.params.id = 8;
    controller.params.name = 'Godzilla';

    controller.updateMosterNameById();
    // what are the different jUnit assertetions that need to happen at this point?

Например, я должен запросить БД и сделать assertEquals или assertTrue?

Любой пример кода с утверждениями jUnit будет принят с благодарностью.

1 ответ

Вы можете сделать что-то вроде следующего с помощью spock:

import grails.test.mixin.TestFor
import spock.lang.Specification

@TestFor(MonsterController)
class MonsterControllerSpec extends Specification {

    void "test updateMonsterNameById"() {
        given:
            def monsterId = 8
            def monsterName = 'Godzilla'
            params.id = monsterId
            params.name = monsterName
        when:
            controller.updateMonsterNameById()
        then:
            monsterName == Monster.get( monsterId ).name
    }
}
Другие вопросы по тегам