Отказ Ant JUnit с французским разделителем тысяч - PullRequest
0 голосов
/ 12 ноября 2010

Использование Netbeans 6.9.1 мои модульные тесты проходят без проблем.При использовании junit (4.8.2, которая, похоже, является той же версией, которую использует Netbeans), тесты завершаются неудачно в командной строке.

Ошибка связана с этой строкой:

assertEquals("x doit être >= 10 et < 100, était la suivante: 1 000", messages_fr.between("x", 10, 100, 1000));

В командной строке сообщение отображается как:

x doit tttre = = 10 et <100, ittait la suivante: 1 000 </p>

Я нахожусь напотеря за то, что происходит.Я знаю, что разделитель тысяч - это не пробел, а 0XA0, это не проблема, но тот факт, что Netbeans и командная строка не согласны с этим, является реальной проблемой.

Я использую муравей 1.8.1которая также является той же версией, что и Netbeans.Это происходит в OS X (10.6.5) и Windows 7. Мне все еще нужно проверить Ubuntu 10.10.

Есть идеи, почему он работает в Netbeans, а не в командной строке в ant?

Ответы [ 2 ]

2 голосов
/ 12 ноября 2010

Обратите внимание на несоответствие в выводе: ê и é выглядят как UTF-8, отображаемый как CP437, тогда как пространство без перерывов выглядит как Windows-1252, отображаемое как CP437.

Давайте отложим в сторонуДело в том, что кодировка консоли (CP437) не соответствует системной кодировке (Windows-1252).Затем я предполагаю, что пространство без перерывов представлено правильно, поскольку оно исходит из библиотеки времени выполнения.Это означает, что UTF-8 в представлении сообщения является ошибкой.Возможно, шаблон вашего сообщения хранится в UTF-8, но загружается как Windows-1252.Если этот шаблон хранится в коде, вам нужно установить кодировку компилятора в UTF-8.

1 голос
/ 12 ноября 2010

Я думаю, что ваша проблема в кодировке.Вы можете попробовать изменить кодировку вашего Java-класса (с ISO на UTF или наоборот).

Если это не сработает, вы можете попытаться настроить Ant для использования той же кодировки, что и Netbeans.

Если это тоже не сработает, вы можете попробовать написать метод, который преобразует ваше сообщение в другое сообщение без специальных символов.

В Испании мы сталкиваемся с такими же проблемами, и много раз мы пишем каждую строкубез специального символа (не лучшее решение, но оно работает).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...