2013-04-18 7 views
5

Ich verwende IntelliJ IDEA 12.0.4. Haben Sie einige Tests. Wenn ich renne man mit meinem Assertion Fehler JUnit4 Rahmen wie folgt aussieht:Zeichencodierung in der IDEA-Ausgabe von AssertionError

java.lang.AssertionError: Status should be: Черновик expected [true] but found [false] 

Wenn ich ein TestNG verwende es wie folgt aussehen:

java.lang.AssertionError: Status should be: Черновик expected [true] but found [false] 

Alle anderen kyrillischen Ausgänge auf beiden Rahmen funktionieren, Nur Assertion Text wird nicht.

Codierung der Projektdateien auf UTF-8 festgelegt.

Aktualisierung: Zum Beispiel einfacher WebDriver-Test. Ich benutze TestNG und IE.

import org.testng.Assert; 
import org.testng.annotations.AfterSuite; 
import org.testng.annotations.BeforeSuite; 
import org.testng.annotations.DataProvider; 
import org.testng.annotations.Test; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.ie.InternetExplorerDriver; 

import java.util.concurrent.TimeUnit; 


public class SeleniumExample { 

    protected WebDriver driver; 
    protected String baseUrl; 

    @BeforeSuite 
    public void setUp() throws Exception 
    { 

     /* Local Driver */ 
     driver = new InternetExplorerDriver(); 
     baseUrl = "http://www.google.com"; 
     driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
    } 

    @DataProvider 
    public Object[][] TestData() { 
     return new Object[][]{ 
       {"Гугл"}, 
     }; 
    } 

    @Test(description = "Create_InvestProjectRequest", dataProvider = "TestData") 
    public void Test(String s) { 

     driver.get(baseUrl); 

     Assert.assertTrue(driver.getTitle().contains(s), "Ошибка"); 
    } 

    @AfterSuite 
    public void tearDown() throws Exception { 
     driver.quit(); 
    } 
} 

In Testergebnis Ausgang i siehe:

java.lang.AssertionError: РћС € РёР ± РєР ° Erwartet: true Actual: false

Und ein weiteres Problem, dass, wenn ich kyrillische verwenden in DataProvider, dann in Testbaum sehe ich Test ("РћС € Р") anstelle von Test ("Гугл")

+0

OS/JDK-Versionen/[Kodierungseinstellungen] (http://blogs.jetbrains.com/idea/2013/03/use-the-utf-8-lukes-file-encodings-in-intellij-idea/) ? – CrazyCoder

+0

Windows 7 x86. jdk1.7.0_17. Codierung auf UTF-8 festgelegt. Ich versuche, die VM-Codierung "-Dfile.encoding = CP1251" zu erzwingen, aber es ist nichts passiert. – QAutomatron

+0

Bitte geben Sie ein Beispielprojekt zur Reproduktion an. – CrazyCoder

Antwort

2

Es ist eine known bug, die im nächsten Update behoben wird, danke für Ihr Projekt, das uns geholfen hat verfolgen Sie es.

Die aktuelle Problemumgehung besteht darin, die .vmoptions file zu bearbeiten und -Dfile.encoding=UTF-8 Option hinzuzufügen.

+0

Danke. Mit der -Dfile.encoding Option funktionieren alle Ausgänge einwandfrei. – QAutomatron