Wenn ich Tests mit dem Build-Test-Data Plugin in Grails 3 durchführe, sehe ich den folgenden Fehler.Grails 3 upgrade Testprobleme
groovy.lang.MissingMethodException: No signature of method: com...Item.save() is applicable for argument types:() values: [] Possible solutions: last(), wait(), any(), saveAll([Ljava.lang.Object;), saveAll(java.lang.Iterable), last(java.lang.String)
Dies ist in der Regel um ein .save()
oder .build()
Ich bin keinen Test-Guru so weiß jemand, was ist oben?
aktualisieren
Das Beispiel sieht wie folgt aus ...
import grails.buildtestdata.mixin.Build
@Build(Author)
class AuthorUnitTests {
void testAuthorStuff() {
def author = Author.build()
...
}
}
My-Code wie folgt aussieht ...
@TestFor(Item)
@Build([Item])
class ItemSpec extends Specification
{
...
def "Blah Blah"() {
given:
Item i = Item.build(id: 1)
}
}
Wenn es sich um einen Komponententest handelt, sollte '@Build (Item)' auf Klassenebene verwendet werden, wie in der Dokumentation des Plugins gezeigt. – dmahapatro
Ich bin ein bisschen verwirrt Kannst du auf den Teil zeigen, auf den du dich beziehst? Ich sehe Anhang – Jackie
Mit dem obigen Update ist es klar, dass Sie '@ Build' verwenden. Es sollte funktionieren. Müssen Sie die ID auch manuell zuweisen? – dmahapatro