Presenter
クラスにjoda-time-android
ライブラリのクラスを使用しました。これにはAndroidの依存関係は一切ありません。だから私はそれを正しくテストすることはできません。私はこのためにRobolectric
を使用できることを知っていますが、私はこのツールと私のPresenter
をきれいにしておきたいと思います。私はJodaTimeを放棄すべきですか?他の解決策?ユニットテストとjoda-time-android
3
A
答えて
8
Unit-tests
の場合、JodaTime
のライブラリのデフォルトのJava実装は、joda-time-android
と同じパッケージとクラスを持つため使用できます。
// for android
compile 'net.danlew:android.joda:2.9.3'
// joda-time for tests
testCompile 'joda-time:joda-time:2.9.3'
チャームのように機能します。
他のライブラリの場合は、@npaceの回答を参照してください。
2
まあ、joda-time-android
は、動作させるためにAndroidランタイムに依存します。 Fragment
,Activity
などのAndroid SDKの他のUIクラスとやりとりすることはないため、これにはRobolectric
を使用すると大丈夫です。
Robolectric
の設定は痛みです。別のオプションがあります。Adapter patternを使用して、通常のJava JodaタイムライブラリとAndroidバージョンの共通インターフェイスを作成できます。
ことが可能と実用的だ場合
、あなたはバックアップすることができます(使用したいどのくらいのジョダ時間APIのに応じて)あなたのAdapter
アプリを実行すると、ユニットテストを実行するとき
joda-time
でそれをバックアップするとき
joda-time-android
と。
Application
の
onCreate()
メソッドのAndroid具体的な実装と、ユニットテストの
@Before
のJava具体的実装を使用するようにすることができます。
関連する問題
- 1. ユニットテストとboost :: asio
- 2. Neo4jユニットテストとAPOC
- 3. 俳優とユニットテスト
- 4. WP7とユニットテスト
- 5. djangoユニットテストとグローバルフィクスチャ
- 6. .NETマルチスレッドとユニットテスト
- 7. ヘルパークラスとユニットテスト
- 8. Elmユニットテストとコードカバレッジ
- 9. WPF MVVMとユニットテスト
- 10. メッセージボックスとユニットテスト
- 11. 春とユニットテストDeferredResult
- 12. NLogとユニットテスト
- 13. セルマコンバータとユニットテスト
- 14. ユニットテストとインテグレーションテスト
- 15. ユニットテストMVC 3とエンティティフレームワーク
- 16. JavaScriptとMochaのユニットテスト
- 17. ユニットテストのドメインオブジェクトとドメインオブジェクト
- 18. ユニットテストvue.jsコンポーネントとインラインテンプレート
- 19. JenkinsとcFixユニットテスト(C++)
- 20. Androidのユニットテストとデータバインディング
- 21. Androidのユニットテストとデータベースハンドラ
- 22. 学習ユニットテストとジャスミン
- 23. ユニットテストNode.jsとWebSockets(Socket.io)
- 24. AutoMapperのプロファイルとユニットテスト
- 25. ビジュアルスタジオのセキュリティコンテキストとユニットテスト
- 26. ユニットテストとMEFのエラー
- 27. PHPとSQLのユニットテスト
- 28. EF4.1 DbSetとEF4 ObjectContextとユニットテスト
- 29. モッキングとユニットテストSolrとLuceneインデックス
- 30. WebプロジェクトとSilverlightプロジェクトのユニットテストの違い(Silverlightプロジェクトのユニットテスト方法)
私は 'Log'クラスにアダプタパターンを使用しました。しかし、JodaTimeの場合は、書き込むインターフェイスが多すぎます。あなたの答えはより洗練されたソリューションに私を押し込んだ。 – Alexandr