そのため、kotlintest を mockk と組み合わせて使用してきましたが、これを ProjectConfig クラスに追加して、シングル スレッド モードからマルチ スレッド モードに切り替えるときに問題が発生しました。
override fun parallelism(): Int = Runtime.getRuntime().availableProcessors()
シングルモードで実行した場合。すべてのテストに合格しましたが、並列処理に切り替えると、モックを使用する一部のテストが失敗し始めました。
私はいたるところに次のようなメソッドを持っています:
override fun afterTest(testCase: TestCase, result: TestResult) {
clearAllMocks()
}
したがって、これらのようなメソッドが検証ブロックの前にすべてのモック データをクリアすることで、モックが失敗する可能性があると思います。
異なるスレッドでのテストを強制的に独自の Mockk インスタンスを使用し、clearAllMocks() メソッドを強制して、呼び出しスレッドでモックのみをクリアする方法はありますか? そうでない場合、これらの問題に役立つ他のコード プラクティスは何ですか?