Testes de subclasses em grails
Postado em 12/11/2008 00:00
0
0
Nao estou conseguindo realizar testes com sucesso,
queria conselhos para a realizacao de testes com classes herdadas
- (como deve ser a criacao de um objeto dessa classe?)


Tenho essa superclasse como domain, ( nao passa no testPersist )

class Publication {
String title
int year
String homePage
String meansOfDissemination
boolean moreRelavance
String translates
String otherInformation
}


com esse teste:

class PublicationTests extends GroovyTestCase {

// DA OK
void testSomething() {
assert 1==1
}

void setUp() {
Publication.list()*.delete()
}
//falha
void testPersist(){
new Publication(title:"title 1",year :"year 1",
homePage:"homePage 1",meansOfDissemination:"meansOfDissemination 1",
moreRelavance:true,translates:"translates 1",
otherInformation:"otherInformation 1", externalAuthors: [""],
project: new Project() ).save()

assert 1 == Publication.count()
}


e essa subclasse:

class Article extends Publication {
String DOI
String language
String ISSN
String titleOfMagazinePublished
int volume
int initialPage
int finalPage
}

com esse teste: , ( nao passa no testPersist )

class ArticleTests extends GroovyTestCase {
// DA OK
void testSomething() {
assert 1==1
}

/**
* Using setUp to Initialize Data, test data is created
*/
void setUp() {
Article.list()*.delete()
} // setUp
//falha
void testPersist(){
new Article(DOI:"DOI 1",language:"portuguese",
ISSN:"ISSN 1",volume:1,
initialPage:1, finalPage:10,
titleOfMagazinePublished:"MagazinePublished 1").save()

new Article(DOI:"DOI 2",language:"english",
ISSN:"ISSN 2",volume:2,
initialPage:2, finalPage:10,
titleOfMagazinePublished:"MagazinePublished 2").save()

new Article(DOI:"DOI 3",language:"spanish",
ISSN:"ISSN 3",volume:3,
initialPage:3, finalPage:10,
titleOfMagazinePublished:"MagazinePublished 3").save()


assertEquals 3, Article.list().size()
}
Tags: Grails
yuricariry
Pontos: 0






0
0
24/11/2008 00:00
Esses testes são de integração, certo? Se sim, o problema é que quando vc faz as asserções, o grails ainda não fez o flush da sessão e por isso os dados ainda não foram realmente salvos. Altere a chamada de "save" para "save(flush:true)" - o que indica para o grails que ele deve fazer o flush imediatamente.

valeuz...

Marcos Silva Pereira
Pontos: 0



 


Esqueceu sua senha?
 
Grails Brasil é mantido por itexto Desenvolvimento de Projetos Ltda.
Em caso de problemas, sinta-se livre para procurar Henrique Lobo Weissmann (Kico) por e-mail: kicolobo@itexto.net
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão (clique no logo à direita para maiores detalhes)