Kodowanie znaków w wyjściu IDEA z AssertionError
Używam IntelliJ IDEA 12.0.4. Zrób kilka testów. Kiedy korzystam z jednego z JUnit4 framework, mój Assertion Error wygląda tak:
java.lang.AssertionError: Status should be: Черновик expected [true] but found [false]
Jeśli używam TestNG, wygląda to tak:
java.lang.AssertionError: Status should be: Черновик expected [true] but found [false]
Wszystkie inne wyjścia cyrylicy działają poprawnie na obu platformach, tylko tekst asercji nie.
Kodowanie plików projektu ustawione na UTF-8.
Aktualizacja: Na przykład prosty test WebDriver. Używam TestNG i 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();
}
}
Na wyjściu Wynik testu widzę:
java.lang.AssertionError: РћС € РёР ± РєР ° Oczekiwano: true Aktualny: false
I kolejny problem, że jeśli użyję cyrylicy w DataProvider, to w drzewie Testów zobaczę Test („РћС € Р”) zamiast Test („Гугл”)