değil. 2.1.x grails'e yükseltme işleminde yaşıyorum ve eski stil testlerimin bazılarını yeniden yapmak gerekiyor.çalışan kılavuzlar Intellij Idea'de 2.1.3 testleri: Spock testinde garip hata: Domain sınıfı eklenemiyor [class x.y.Z]. Bu bir Alan
Sadece spock Spec'a yeni bir test ekledim ve bu test için ek bir Domain sınıfı ile uğraşmam gerekiyor.
Bundan önce, ben vardı:
@Mock([Event, EventType])
Şimdi var:
@Mock([Event, EventType, Notification])
Notification.groovy grails-app altında (Olay ve EventType daha aynı kesin paketi ve fiziksel dizinde/etki alanı) bu yüzden kesinlikle bir sınıf alanı sınıfıdır. Tavşan deliği geçmesi ve yürütülmesine ayıklama başlatın
org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Cannot add Domain class [class x.y.Notification]. It is not a Domain!
at org.codehaus.groovy.grails.commons.DefaultGrailsApplication.addArtefact(DefaultGrailsApplication.java:911)
at org.codehaus.groovy.grails.commons.DefaultGrailsApplication.addArtefact(DefaultGrailsApplication.java:615)
at grails.test.mixin.domain.DomainClassUnitTestMixin.mockDomain(DomainClassUnitTestMixin.groovy:131)
at grails.test.mixin.domain.DomainClassUnitTestMixin.mockDomain(DomainClassUnitTestMixin.groovy:128)
ben DomainClassArtefactHandler (hat 87) bu bölümü almak:
I aşağıdaki yığın izleme almak teste çalıştırmayı
: // make sure the identify and version field exist
testClass.getDeclaredField(GrailsDomainClassProperty.IDENTITY);
testClass.getDeclaredField(GrailsDomainClassProperty.VERSION);
Yani bir şeylerin yanlış gittiğini , Gorm alanlar, reklam değildir ben id alanı yok sanırım çünkü bu, bir istisna ile patlarsa Bundan önce dediği yürütülür.
Yapmam gerekeni öneri olan var mı? Alan sınıfımı @Entity olarak işaretlemem gerekiyor mu (bu aslında test adımı geçiyor)?
Ünite testimin geçmesi için zorunlu olmaması gereken oldukça eminim.
Herhangi bir öneri?
GÜNCELLEME: Aslında sadece benim IDE içinde birim testleri çalıştırdığınızda bu sorun yalnızca ortaya çıkar bulmuşlardır:
http://jira.grails.org/browse/GRAILS-9989: intellij Fikir 12.1
Sorunlar oluşturulan burada Test uygulaması ile,
http://youtrack.jetbrains.com/issue/IDEA-105087
ben hem alanı sınıflarında statik haritalama blokları kaldırmak
test pa D eğ!
Bu, tümleştirme sınama klasöründe veya birim sınama klasöründe mi? Ayrıca, spesifikasyonları genişleten ve @TestFor kullanarak herhangi bir spock entegrasyonu testiniz varsa, entegrasyon testleri için entegrasyonu kullanmanız gereken gerçekten garip hatalar elde edersiniz. –
Merhaba Jeff, bu bir birim testi. Entegrasyon klasöründe henüz bir Spec yok, sadece junit stil testleri. Yine de ilginiz için teşekkürler, bunu aklımda tutacağım. – loteq
Bu etki alanı nesnesi için statik bir eşleme bloğu var mı? –