저는 지리 좌표가있는 작업을위한 Java 라이브러리를 작성 중이며 테스트는 스칼라에서 specs2로 구현됩니다. 학위 기호 °
(비 ASCII 문자 임)이 포함 된 String에 대한 문자열 비교를 수행하는 많은 테스트가 있습니다.sbt 테스트 인코딩 hickup
IntelliJ 내에서이 테스트를 실행하면 모두 통과합니다. 그들은 또한 Travis CI를 통과합니다. ,
문제가 될 수 무엇 : 내 파워 쉘 (Windows의 x 64)에서 (11.3 SBT) sbt test
를 실행한다면, 모든 테스트가 실패하고 콘솔은 스크린 샷과 같은 잘못된 문자열을 보여줍니다 어떻게 해결할 수 있습니까? 파일이 UTF8로 인코딩되었는지 확인했습니다. 또한 다른 사람이 리포지토리를 복제하면 테스트가 실행되기 때문에 Java 구성을 변경하면 도움이되지 않습니다. 따라서 내 시스템에서만 문제를 해결하는 솔루션이 도움이되지 않습니다. 하지만 여기에 무엇이 잘못되고 있는지 전혀 알지 못합니다 ...
S33을 보면 색상의 ASCII 인코딩을 생각할 수 있습니다. 'nocolor': "sbt test-only - nocolor"로 실행하면 어떻게됩니까? – Eric
'nocolor'은이 동작을 변경하지 않습니다. 하지만 그것은 낯선 것입니다 : 만약 내가'sbt test' (실패)를 실행하고, IntelliJ 내부에서 테스트를 실행한다면, 그 테스트 또한 실패합니다. 'sbt clean' -> IntelliJ, 그리고 모든 것이 다시 괜찮습니다. 그래서 이것은 컴파일과 관련이있는 것 같습니다. – Leo
학위 기호가 소스 파일에 직접 인코딩되어 있습니까? 그렇다면 일부 인코딩 문제가있을 수 있습니다 (아마도 소스 파일은 IntelliJ 및 CP1252에서 UTF-8로 해석 될 것입니다). 학위 기호를 '\ u00B0'로 변경하고 다시 컴파일 해보십시오. 또는 javacOptions ++ = Seq ("- encoding", "UTF-8")'로 SBT에서 소스 파일 인코딩을 설정할 수도 있습니다. – msandiford