2016-03-28 26 views
1

Bazı JUnit model testleri ile Eclipse'de bir projem var.JUnit'te Kodlama: Gradle vs Eclipse

Bu sınamalardan biri bazı özel karakterler gerektirir. Eclipse'de (Run As ->JUnit Test) geçer, ancak Gradle (clean test) ile çalışırken başarısız olur.

Hata: org.junit.ComparisonFailure: expected:<[ü]> but was:<[�]>, Not raporunda.

Derleme zamanı kodlama sorunlarını çözen yapı dosyasına tasks.withType(JavaCompile) {options.encoding = 'UTF-8} ekledim. Ama hala çalışma zamanı hatası alıyorum (yukarıdaki hataya bakınız).

compileJava.options.encoding = 'UTF-8' eklenmesi işe yaramaz.

Test, MacOS'ta çalışır ve proje kodlaması OS'den (Windows + UTF-8, benim durumumda) devralınır.

+0

mu senin java dosyasının UTF-8 kodlamasını var? –

+0

@StefanBirkner Konteynırdan devralındı, evet. – GGrec

+0

Windows 8.1'de benzer bir davranışla karşı karşıyayım - Şu an için tek çözüm, Windows'da sistem değişkeni olarak GRADLE_OPTS = -Dfile.encoding = utf-8'i ayarlamaktır. Ancak bunu, bir derleme yapı betiğinin bazı harici yapılandırmalara dayanmaması gerektiğinden çirkin bir çözüm olarak görüyorum. – mschenk74

cevap

1
Sen de test sınıfları derler görev için kodlama, ayarlamanız gerekir

:

compileJava.options.encoding = 'UTF-8' 
compileTestJava.options.encoding = 'UTF-8'