1
Kotlinにall openというコンパイラプラグインがあります。いくつかの注釈を持つすべてのクラスが強制的に開かれます。gradleがテストを構築しているときにいくつかのコードを実行する方法
テスト用にこの機能を使用したいのですが、私はプロダクションコードには入れたくありません(クラスを閉じたい)。これどうやってするの?
私のような何か試してみました:
test {
allOpen {
annotation('com.my.Annotation')
}
}
をしかし、コードは常に実行されます。
ただし、この注釈がテストクラスでのみ使用されている限り、これは問題ではありません。とにかく、テストに必要なのはなぜですか? – s1m0nw1
注釈は、Mockitoが私のプロダクションコードを模倣できるようにするために使用されているので、注釈は私のプロダクションコードに含まれています:(私がこれを必要とするのはなぜですか?[その他の方法があるので] http://hadihariri.com/2016/ 10/04/Mocking-Kotlin-With-Mockito /)はクローズドクラスを模擬していますが、実際には遅いです(https://github.com/mockito/mockito/issues/1142)。 –