問題タブ [jukito]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ジェネリッククラスをバインドするにはどうすればよいですか?
Jukitoを使用してDaoをモックしようとすると、次の例外が発生します。
私がモックしようとしているオブジェクトはConcreteDao
です。
このバインディングジェネリックに関するSOに関するいくつかの投稿を読みましたが、バインディングに使用する方法がわかりませんTypeLiteral
。
これは私が試したものです:
java - Maven、CDI、JUnit、JPA。HSQLDBに対してテストを実行したい
CDIとJPAを使用してJEE6アプリケーションを作成しました。私のテストはJUnitで書かれています。JPQL(「コード」と見なします)がテストされていることを確認するために、インメモリHSQLDBデータベースに対してデータベーステストを実行したいと思います。私の動機は、モックアウトされたEntityManagerを使用してJPQLステートメントを変更すると、コードユニットのテスト実行が成功することです。
GuiceとJukitoを使用して、他の(jpa以外の)テストを実行しています。
誰かがこれの例を持っていますか?私は周りを見回してみましたが、これを処理するための良い例やフレームワークプロジェクトをまだ見つけていません。
gwt - GWTTestCase と gin モジュールのオーバーロードなしで、GIN インジェクションを使用した JUnit テスト?
Guice/Gin を使用して新しいプロジェクトを設計したので、特にテスト時にコードをよりモジュール化してスワップ可能にすることができました。
ただし、実際にこれを機能させる方法を見つけることができません。テストで新しい Gin/Guice モジュールを作成し、「ベース」モジュールをインストールして、特定のテスト実装に置き換えたいバインディングをオーバーロードするだけでよいという印象を受けました。
GWTTestCase を使用してモジュール全体をロードする必要はありません。実行する必要がある詳細なテストの種類が非常に遅く、不必要だからです。
Jukito ( http://code.google.com/p/jukito/ )、gwt-test-utils ( http://code.google.com/p/gwt-test-utils/wiki/HowToUseWithGIN )を使用してみましたまた、guice を使用してこれを行うためのリソースもいくつかあります ( http://fabiostrozzi.eu/2011/03/27/junit-tests-easy-guice/ )。
これらの方法はどれも結果をもたらしていません。
Ginモジュールのミラーguiceモジュールを定義した場合、Guiceアプローチが機能する可能性があると思います。ただし、これらの両方を管理する必要はありません。人々がGuiceでテストすると仮定するように、GINモジュールをテストしたいだけです。
これは本当にシンプルであるべきだと思いますが、うまくいく例を誰か教えてもらえますか?
アップデート
この質問の別の見方は次のとおりです。
注入しているクラスが外部 Gin モジュールにある場合、Jukito サイト ( http://code.google.com/p/jukito/ )の例を取得するにはどうすればよいですか?
**更新 - Thomas Boyer の回答を参照して**
トムのヒントをありがとう、私はアダプターを使用する例を見つけることができませんでしたが、とにかく GinModuleAdapter を使用するために Jukito の例を拡張しようとしました:
このテストを実行しようとしたときに、次の例外を受け取りました。
私の gin モジュールは GWTP プロジェクトの一部であり、次のようになります。
ご覧のとおり、 test に挿入するクラスは、モジュールでバインドするSyncedDOMModel
a を使用します。WebSocket
テスト中は、実際の WebSocket とサーバーを使用したくありません。したがって、基本的にすべてをエミュレートするクラスを使用して、テストでそのバインディングをオーバーロードしたいと考えています。この場合、モックを使用するよりも、WebSocket の別の実装を挿入する方が簡単です。
参考になれば、これは SyncedDOMMOdel クラスの基本的な概要です。
java - GIN ファクトリが常に null を返すのはなぜですか?
私が作成した GIN ファクトリを使用する Jukito テストを作成しようとしています。
私の工場は次のようになります。
次のように gin モジュールにバインドしています。
DOMModel は次のようになります。
次に、私のテストは次のようになります。
null であるため、このテストは失敗しますがmodel1
、他のエラーや警告はまったく表示されません。なにが問題ですか?
java - Bean を使用するキャメル単体テストで Bean を登録するにはどうすればよいですか?
Bean を使用する Java で構成された単一のルートを単体テストしたいと考えています。私は実際にキャメルを読みました(第6.1.4章)これを行う方法:
しかし、私の場合、ルーティングにはいくつかの Bean を登録する必要があります。スタンドアロン アプリで Bean を登録する方法を知っています:ここを参照してください。 しかし、「CamelTestSupport」内で Bean を登録する方法は? レジストリなしで Bean を使用する方法はありますか? おそらくそれらを注入することによって(すべてのBeanにはargコンストラクターがありません)?私は Guice を使用しており、テストでは Jukito (Guice+Mockito) を使用しています。
gwt - Jukito モジュールで名前付きプロバイダーをバインドするにはどうすればよいですか?
Jukitoを使用して GWTP プレゼンターをテストしていますが、名前付きバインディングが機能しないようです。
ログイン ウィジェットをテストできるようにしたいonReveal()
ので、ログインしているウィジェットとログインしていないウィジェットのコピーを提供する必要がありCurrentUserDto
ます。これは私がやろうとしていることです:
スコープに関係しているのではないかと思いますが、依存性注入は初めてなので、まだ頭を悩ませています。
プロバイダーが 1 つしかないときは正常に機能していましたが、現在はare always null@Named
のCurrentUserDto
オブジェクトLoginWidgetPresenter
を使用しています。
java - @Rule を実行する前に、Guice を使用して Junit テスト ケースに依存関係を挿入するにはどうすればよいですか?
私が使用しているフレームワークは Dropwizard 7、Guice で、テスト用に Jukito を使用した Junit を使用しています。dw で作成されたリソースがあり、そのリソースに対応するテスト ケースを作成する必要があります。注: 最近、dw 6 から dw 7 に移行しました。
dw 6 では、次のようなテスト ケースがありました。
このメソッドは問題なく機能し、Guice はすべての依存関係を注入し、リソースは問題なく初期化されます。
しかし、DW 7 では、リソース テストを記述するための構文が次のように変更されました。
これは dw ドキュメントの例であり、正常に動作します。しかし、 PersonDao を嘲笑する代わりに、次のようなものを注入しようとすると:
このコードは、xyzProvider の null 値でリソースをインスタンス化します。Guice は xyzProvider をインスタンス化しますが、それは @Rule が評価された後でのみです。今私の問題は、@Rule が評価される前に Guice に依存関係を注入することです。それを実現する方法はありますか?