4
com.google.gwt.http.client.URL.encode(String s)
メソッドを呼び出すGWTクラスのJUnitテストを作成したいと思います。これは私にこの例外をスロー:JUnitテストはGWTのURL.encode()サーバー側を呼び出す必要があります
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テストをどのようにすることができますか?
私のメソッドではURLをどこでも使用しているので、テストから実行するとモックURLインスタンスを返し、ブラウザから実行すると実際のURLオブジェクトを返すgetURL()を呼び出す必要があります。 – jabal
URL.encode()はインスタンスメソッドではないので、インスタンス上で呼び出すと実際には醜いです。もっと良い解決策がありますようお願いします。:-) – jabal
URL.encode()コールをどうにか分離して、テスト時に擬似または注入できる別のクラスですか? –