J'écris un test unitaire pour quelques méthodes simples. Le problème que je rencontre est que 'save' ne fonctionne pas pour mon objet domain même si le domaine doit être mocké. Lors de l'appel de validate sur l'objet de domaine, il revient comme vrai. J'ai même entouré l'objet avec try/catch pour m'assurer qu'il ne lançait pas d'erreurs bizarres et ce n'est pas le cas. Code ci-dessous pour l'appel et le test.Grails mockDomain save not save
void test()
{
mockDomain(MyDomain)
Map map1= ["asdf":" "]
Map map2 = ["asdf":123]
InputObject input = new InputObject()
input.setForeignId("1") //not a constraint
input.setMap1(map1)
input.setMap2(map2)
service.methodUnderTest(profile)
List list = MyDomain.getAll()
assertEquals 1, l.size() //FAILS
}
def persistPublishGuids(InputObject input)
{
try{
HashMap map1 = input.map1
for (e in map1)
{
String key= e.getKey()
String value = e.value
long size = input.map2.get(key)
MyDomain domain = new MyDomain (id:guid, field1:value, field2:input.foreignId, field3:size)
domain.save()
}
} catch(ex)
{
ex.printStackTrace()
}
}
Il serait probablement utile si c'était un [sscce] (http://sscce.org/). Ce que vous avez posté ne peut pas être exécuté seul. Essayez de produire l'exemple le plus simple qui va exécuter et reproduire le problème et l'afficher. Il est possible que, ce faisant, vous découvrirez la racine du problème, et sinon, vous aurez un exemple beaucoup plus clair pour quelqu'un pour aider. – ig0774
Je voudrais, mais je l'ai compris. Le nécessaire pour faire fonctionner les grails, puis nettoyer/reconstruire le projet dans STS. Je l'ai seulement découvert parce que quand j'ai commencé à écrire un autre test ce matin et qu'il a prétendu qu'il n'y avait pas de méthode 'save()' sur un de mes objets de domaine. Googling qui m'a conduit à la solution propre et reconstruire. – Joseph