問題タブ [mockk]
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.
android - トップレベルのモックのために Android Studio でコンパイルされた Jar ファイルを表示する方法は?
Android Studio でビルドされた Android アプリ用にコンパイルされた Jar ファイルにはどのようにアクセスできますか?
ユース ケース- Kotlin での JUnit 5 ローカル ユニット テスト用のMockK。Javaにコンパイルされた Kotlin の出力を表示します。
Android Studio バージョン- 3.5
@oleksiyp は、このミディアム シリーズとこのStackOverflow の投稿で、トップレベルの関数を Java にコンパイルする方法をここで概説しています。
Kotlin ファイルが Java にコンパイルされる方法を調べると、出力が以下のように単純ではない、より高度なトップレベル関数のモックが可能になります。
たとえば、次の例です。
に変換:
unit-testing - io.mockk を使用して、異なるパラメーターで複数回呼び出されたメソッドをテストする方法は?
PS: コードは Koltin になります
たとえば、何かを実行して他のサービスを注入するサービス クラスがあります。
これは、OtherService をモックする MyService クラスに対する私のテストです。
その結果、"bar"
パラメーターが期待されますが、"foo"
代わりにパラメーターになり、テストは失敗します。
理由:のsomeOtherService.someMethod("foo")
前に呼び出されsomeOtherService.someMethod("bar")
ます。
ただし、すべてのメソッドが 1 回だけ呼び出されたことを確認したいと思います。どうすればそれができますか?
unit-testing - 非同期操作を含むメソッドを呼び出している間、io.mockk でキャプチャされたスロットがいっぱいになるまで待つ方法は? (単体テスト)
PS: Kotlin のコード
私の単体テストでは、
スロットと呼ばれる文字列の変更可能なリストがあります
このスロットリストをキャプチャしました
特定のテストの最後に、スロットのサイズを確認します。
私がテストしたメソッドには、非同期操作が含まれています。したがって、Thread.sleep(1000)
スロットサイズを確認する前に書く必要があります ( slot.size shouldBe 2
)
操作を拒否Thread.sleep(1000)
し、1秒待つものを作る方法。のようなものverify(timeout = 10000)
。
android - JUnit 5 アノテーション - LiveData / パラメータ化されたテストで動作しない
概要
予想される行動
@oleksiypによるドキュメントおよびMedium の投稿mockObject
で概説されているように、関数実装を使用したモック オブジェクトの初期化を JUnit 5 の注釈構文の初期化に置き換えます。
現在の動作
問題のテストは、JUnit 5 の@phauerによって概説されているパラメーター化されたテストであり、 . LiveData を使用してテストを実装するには、 @JeroenMolsによって設計されたthisを使用して、ローカル ユニット テストでテストを同期的に実行する必要があります。@ExtendWith(MockKExtension::class)
InstantExecutorExtension
モック オブジェクトの初期化は関数で期待どおりにmockObject
機能しますが、注釈を使用すると失敗します@MockK
。
エラー
警告メッセージ/ビルド失敗:
非 SOURCE 保持の反復可能なアノテーションはまだサポートされていません。
実装
mockObject
関数の実装 (期待どおりの動作)
注釈構文の初期化 (拡張機能が 2 つあるため機能しません@ExtendWith
)
環境
- モックKバージョン: 1.9.3
- OS: マック 10.14.6
- コトリンのバージョン: 1.3.50
- JDK バージョン: 12.0.1
- JUnit バージョン: 5.5.1
- テストの種類: 単体テスト
gradle - intellij を使用して build.gradle.kts ファイルの依存関係をダウンロードできない
私はSpring Boot Kotlin Projectをやっています。これが私のbuild.gradle.ktsファイルです。
モック依存関係を追加していますが、ダウンロードされていません。どちらの依存関係もダウンロードされていません。ビルドは成功しましたが、追加した依存関係がダウンロードされません。プロキシを無効にして試しました。以下のリンクを確認し、試してみました。しかし、うまくいきません
どんな助けでも大歓迎です。