Sahte final sınıflarını bozabilir mi? Öyleyse nasıl? Arama sonuçları bu gist'u ortaya çıkardı, ki bu da ima ediyor gibi görünüyor, ancak böyle bir örnek bulamıyorum. Ayrıca son sınıf alaycılarının desteklenmediğini söyleyen forum gönderileri buldum.Spock'te son sınıf mock
6
A
cevap
14
Bu şartname:
@Grab('org.spockframework:spock-core:1.0-groovy-2.4')
@Grab('cglib:cglib-nodep:3.1')
import spock.lang.*
class Test extends Specification {
def 'lol'() {
given:
def s = Mock(String) {
size() >> 10
}
expect:
s.size() == 10
}
}
şu istisna ile biter:
JUnit 4 Runner, Tests: 1, Failures: 1, Time: 29 Test Failure:
lol(Test) org.spockframework.mock.CannotCreateMockException:
Cannot create mock for class java.lang.String because Java mocks cannot mock final classes.
If the code under test is written in Groovy, use Groovy mock.
çözüm GroovyMock
kullanmaktır: iyi çalışıyor
@Grab('org.spockframework:spock-core:1.0-groovy-2.4')
@Grab('cglib:cglib-nodep:3.1')
import spock.lang.*
class Test extends Specification {
def 'lol'() {
given:
def s = GroovyMock(String) {
size() >> 10
}
expect:
s.size() == 10
}
}
.
+0
Bunun için neden String.length()? –
+0
String.length() ile olan fark, Groovy sürümü değil, Java String sınıfında tanımlandığı için olabilir mi? Bu [cevap] (http://stackoverflow.com/a/12177035/369722) böyle görünüyor. –
İlgili konular
- 1. Mock Dosya sınıf ve NullPointerException
- 2. Mock
- 3. C# ve Moq, soyut sınıf mock
- 4. Mock HTTPretty
- 5. Powermock mockstatic ben son sınıf alay çalışıyorum nihai sınıf
- 6. İade Mock Python ile
- 7. jest mock application required ('')
- 8. Nasıl yapılır Mock
- 9. @Mock ve @InjectMocks kullanarak
- 10. Unit'sing Jasmine'in Mock Clock
- 11. CSP'yi http-mock
- 12. Alakalı Genel Depo Mock
- 13. Mock document.referrer Eğik Yasemin
- 14. PHPUnit Mock S3Client iyi
- 15. FileReader'da Mock FileInputStream, PowerMock
- 16. Kullanımı: Sınıf seçicisi olan son çocuk
- 17. PHPUnit Stubbing Sınıfı yöntemleri "son" olarak bildirildi
- 18. Mock Gradle project.exec {...} metaClass kullanarak
- 19. Java Mock nesne, bağımlılık enjeksiyon
- 20. Test edilen sınıfta mock sınıfı
- 21. Google Mock ve Catch.hpp Entegrasyonu
- 22. MockitoAnnotations.initMocks çökerken mock() başarılı olur
- 23. Mock olmadan Python yöntemlerini saplama
- 24. Nasıl Moog kullanarak ILogger/ILoggerService Mock
- 25. Bir son yöntemi PowerMock + EasyMock
- 26. IntelliJ, sınıf dosyalarındaki son '}' satırından önce boş satır ekler
- 27. : CSS ve Internet Explorer son çocuk sözde sınıf seçici
- 28. Neden istisnalar genelde sınıf adına 'Exception' son ekine sahiptir?
- 29. Jasmine Mock for valans hizmetini kullanarak
- 30. Mock nesneleri - Kurulum yöntemi - Test Driven Geliştirme
Bazen, Groovy ile sadece bir deneyin en iyisidir. – cjstehno
@cjstehno Denedim ve bir istisna var. Ama düşündüm ki, belki de bilmediğim özel bir yol var. –
Cevabım sorunu çözüyor mu? – Opal