Saya tahu cara meniru metode statis dari kelas menggunakan PowerMock.
Tapi saya ingin meniru metode statis dari beberapa kelas di kelas pengujian menggunakan JUnit dan PowerMock.
Adakah yang bisa memberi tahu saya apakah mungkin melakukan ini dan bagaimana melakukannya?
Jawaban:
Lakukan saja
@PrepareForTest({Class1.class,Class2.class})
untuk beberapa kelas.sumber
@RunWith(PowerMockRunner.class)
di level kelas@Rule public PowerMockRule rule = new PowerMockRule();
@PrepareForTest(Class1::class, Class2::class))
@PrepareOnlyThisForTest
daripada@PrepareForTest
. Yang terakhir juga memodifikasi superclass, yang biasanya tidak diperlukan.dll ...
sumber
PowerMock 1.6.5
ada masalah menggunakan@PrepareForTest
pada tingkat metode (hanya bekerja pada tingkat kelas untuk saya)Di java dengan powermock / junit, gunakan
@PrepareForTest({})
kelas statis sebanyak yang Anda inginkan seperti array ({}
).Saya telah menggunakan powermock dengan di scala / junit, karena scalatest tidak memiliki integrasi dengan powermock.
sumber
Jika Anda menggunakan kotlin, sintaksnya adalah ini
@PrepareForTest(ClassA::class, ClassB::class)
sumber