問題タブ [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.

0 投票する
1 に答える
422 参照

android - トップレベルのモックのために Android Studio でコンパイルされた Jar ファイルを表示する方法は?

Android Studio でビルドされた Android アプリ用にコンパイルされた Jar ファイルにはどのようにアクセスできますか?

ユース ケース- Kotlin での JUnit 5 ローカル ユニット テスト用のMockK。Javaにコンパイルされた Kotlin の出力を表示します。

Android Studio バージョン- 3.5

@oleksiyp は、このミディアム シリーズとこのStackOverflow の投稿で、トップレベルの関数を Java にコンパイルする方法をここで概説しています

Kotlin ファイルが Java にコンパイルされる方法を調べると、出力が以下のように単純ではない、より高度なトップレベル関数のモックが可能になります。

たとえば、次の例です。

に変換:

0 投票する
1 に答える
6410 参照

unit-testing - io.mockk を使用して、異なるパラメーターで複数回呼び出されたメソッドをテストする方法は?

PS: コードは Koltin になります

たとえば、何かを実行して他のサービスを注入するサービス クラスがあります。

これは、OtherService をモックする MyService クラスに対する私のテストです。

その結果、"bar"パラメーターが期待されますが、"foo"代わりにパラメーターになり、テストは失敗します。

理由:のsomeOtherService.someMethod("foo")前に呼び出されsomeOtherService.someMethod("bar")ます。

ただし、すべてのメソッドが 1 回だけ呼び出されたことを確認したいと思います。どうすればそれができますか?

0 投票する
0 に答える
1188 参照

unit-testing - 非同期操作を含むメソッドを呼び出している間、io.mockk でキャプチャされたスロットがいっぱいになるまで待つ方法は? (単体テスト)

PS: Kotlin のコード

私の単体テストでは、

スロットと呼ばれる文字列の変更可能なリストがあります

このスロットリストをキャプチャしました

特定のテストの最後に、スロットのサイズを確認します。

私がテストしたメソッドには、非同期操作が含まれています。したがって、Thread.sleep(1000)スロットサイズを確認する前に書く必要があります ( slot.size shouldBe 2)

操作を拒否Thread.sleep(1000)し、1秒待つものを作る方法。のようなものverify(timeout = 10000)

0 投票する
1 に答える
403 参照

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
  • テストの種類: 単体テスト
0 投票する
1 に答える
716 参照

gradle - intellij を使用して build.gradle.kts ファイルの依存関係をダウンロードできない

私はSpring Boot Kotlin Projectをやっています。これが私のbuild.gradle.ktsファイルです。

モック依存関係を追加していますが、ダウンロードされていません。どちらの依存関係もダウンロードされていません。ビルドは成功しましたが、追加した依存関係がダウンロードされません。プロキシを無効にして試しました。以下のリンクを確認し、試してみました。しかし、うまくいきません

Gradle ビルドは依存関係をダウンロードしません

どんな助けでも大歓迎です。