Как 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
}
}