Тест JUnit должен вызывать GWT-адрес URL.encode () на стороне сервера - PullRequest
4 голосов
/ 28 февраля 2012

Я хотел бы написать тест JUnit для одного из моих классов GWT, который вызывает метод com.google.gwt.http.client.URL.encode(String s). Это бросает мне это исключение:

java.lang.UnsatisfiedLinkError: com.google.gwt.http.client.URL.encodeImpl(Ljava/lang/String;)Ljava/lang/String;
    at com.google.gwt.http.client.URL.encodeImpl(Native Method)
    at com.google.gwt.http.client.URL.encode(URL.java:155)
    at com.example.foo.QueryBuilder.appendParams(QueryBuilder.java:44)

Я понимаю, что этот URL.encode использует отложенное связывание, основанное на реализации браузера, чтобы быть эффективным, но мне также нужно написать тесты для этих классов. Расширение GWTTestCase недостаточно, чтобы исправить это, к сожалению.

Как я могу заставить мой тест JUnit работать?

1 Ответ

2 голосов
/ 28 февраля 2012

Не могли бы вы использовать Unitils и создать макет URL? Я знаю, что URL - это final, поэтому его нельзя разделить на подклассы, но я смутно припоминаю, что имитирующая утилита Unitils должна иметь возможность обойти это.

http://www.unitils.org/tutorial-mock.html имеет подробную информацию.

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