Я пытаюсь написать интеграционный тест для классов домена в моем проекте. Однако каждый раз, когда я запускаю тест, я получал некоторые ошибки.Тест интеграции Grails для класса домена: отсутствие сигнатуры исключения метода
Мой код ниже:
class ProductIntegrationTest extends GroovyTestCase {
void testSave() {
def product = new Product(name: "phone")
product.save(flush: true, failOnError: true)
assert.....
}
}
После того как я запустить тест, исключение составляет:
groovy.lang.MissingMethodException: No signature of method: Product.save() is applicable for argument types:() values: []
Possible solutions: save(), save(boolean), save(java.util.Map), wait(), last(), any()
Однако, если я поставлю @TestFor(Product)
аннотацию для класса домена, ошибка ушла , Я нашел в документе для теста интеграции мы не можем поставить аннотацию @TestFor
, потому что это только для модульного теста.
У кого-нибудь есть идея?
Вы поместили этот класс в папку 'tests \ integration'? –
Я настоятельно рекомендую использовать команду grails create-integration-test для создания теста интеграции. Вы не увидите эту проблему, если класс тестирования находится в соответствующем каталоге, как указано @Sergio. – dmahapatro
В Sérgio, все тесты интеграции помещаются в папку test/integration папки, и я использовал командную строку для создания тестов интеграции. – ttt