Teste de integração
02/04/2013 02:13
No signature of method: br.com.hubbub.domain.User.save() is applicable for argument types: () values: [] Possible solutions: save(), save(boolean), save(java.util.Map), wait(), last(), any()
class PostIntegrationTests extends GrailsUnitTestCase{
void testFirstPost(){
def user = new User(userId: 'Carlos', password: 'secret').save()
def post1 = new Post(content: 'Primeiro')
user.addToPosts(post1)
def post2 = new Post(content: 'Segundo')
user.addToPosts(post2)
def post3 = new Post(content: 'Terceiro')
user.addToPosts(post3)
assertEquals(3, User.get(user.id).posts.size())
}
void testAccessingPost(){
def user = new User(userId: 'Victor', password: 'secret2').save()
user.addToPosts(new Post(content: 'Primeiro'))
user.addToPosts(new Post(content: 'Segundo'))
user.addToPosts(new Post(content: 'Terceiro'))
def foundUser = User.get(user.id)
def postNames = foundUser.posts.collect {it.content}
assertEquals(['Primeiro', 'Segundo', 'Terceiro'], postNames.sort())
}
}
mockDomain(User)
Depende de como você executou o teste. Por padrão o teste executado é teste unitário. Dai realmente precisa configurar Mocks. Para executar testes de integração precisa do parâmetro -integrationcada vez que executar o test-app.
mockDomain(myClass)e funcionou (em um teste de integração)!
Para se registrar, clique aqui.