SmartGWT Webアプリケーションでは、ドメインオブジェクトをサーバーからクライアントに渡し、GWT直列化を使用して戻します。 DynamicFormまたはGridListのクライアント側でデータを表示/編集するには、Record(またはListGridRecord)に変換し、ドメインオブジェクトに編集して戻す必要があります。ユニットテストはどのようにSmartGWTクラスを使用できますか?
レコードのgetAttribute
とsetAttribute
方法がJSOHelper.getAttribute
/JSOHelper.setAttribute
で実現するための静的メソッドがnative
として宣言され、実装されていた、私はこの変換方法にユニットテストを書きたいと思いますが、JUnitの中に簡単な試みが失敗しましたJavaScriptでJSNIによって使用されるため、JavaScriptでコンパイルされた場合にのみクライアント側でのみ使用できます。
ネイティブメソッドが実装されていないため、JUnitからこれらのメソッドを使用するとUnsatisfiedLinkErrorが発生します。
どのように私はこれらのクラスをテストできましたか?
これらの重要なメソッドは、単純なHashMap(または属性の順序が重要な場合はLinkedHashMap)で簡単に実装できます。実際にはJavaScriptオブジェクトはそのメソッドではなくデータ部分を見るだけです。したがって、私はJavaScriptの代わりにJavaの実装で、いくつかの選択されたSmartGWTクラス(主にJSOHelper)の代替実装を提供することを考えています。
しかし、私は本当にこの問題を抱えている最初の人ですか?既存のソリューションを見つけるにはあまりにも愚かですか?
関連しています(実際には役に立ちません):[GWT:単体テスト/モックJSNIメソッドのベストプラクティス?](http://stackoverflow.com/questions/2543462/gwt-best-practice-for-unit test-mocking-jsni-methods) –