JUnit测试需要调用GWT的URL.encode()服务器端

时间:2012-02-28 13:13:25

标签: java gwt junit tdd

我想为我的一个调用com.google.gwt.http.client.URL.encode(String s)方法的GWT类编写一个JUnit测试。这引发了我的异常:

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 个答案:

答案 0 :(得分:2)

你能使用Unitils并创建一个URL的模拟?我知道URLfinal因此它不能被子类化,但我模糊地回想起Unitils的模拟实用程序应该能够绕过它。

http://www.unitils.org/tutorial-mock.html有详细信息。