Pertanyaan Junit Parameterized tes bersama dengan Powermock - bagaimana caranya?


Saya sudah mencoba mencari tahu cara menjalankan tes parameter di Junit4 bersama dengan PowerMock. Masalahnya adalah bahwa untuk menggunakan PowerMock Anda perlu menghias kelas tes Anda

@RunWith(PowerMockRunner.class)

dan menggunakan tes parameter yang harus Anda hiasi

@RunWith(Parameterized.class)

Dari apa yang bisa kulihat, mereka kelihatan saling terkecuali !? Apakah ini benar? Apakah ada jalan lain? Saya sudah mencoba membuat kelas parameter dalam kelas yang berjalan dengan PowerMock; sesuatu seperti ini:

@RunWith(PowerMockRunner.class)
class MyTestClass {
     @RunWith(Parameterized.class)
     class ParamTestClass {
          // Yadayada
     }
}

Tapi sayangnya ini tidak banyak gunanya ... The ParamTestClass masih tidak berjalan dengan dukungan PowerMock (tidak mungkin itu mengejutkan) ... Dan saya sudah kehabisan ide sehingga bantuan apa pun sangat dihargai!

Memperbarui: Untuk karyawan berikutnya, lihat juga: Menggunakan PowerMock tanpa RunWith?


32
2018-03-16 13:03


asal


Jawaban:


Saya memiliki masalah yang sama. Sayangnya itu tidak akan membiarkan saya menggunakan Aturan PowerMock karena JVM yang saya miliki. Alih-alih aturan saya menggunakan RunnerDelegate.

@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(Parameterized.class)

18
2018-05-11 18:45



Ya ini berfungsi dengan menggunakan PowerMock Aturan tersedia jika Anda menggunakan JUnit 4.7+.


14
2018-04-06 18:06



Anda tidak dapat menggunakan dua pelari kelas sekaligus, jadi Anda pasti harus menulis pelari uji Anda sendiri untuk mewujudkannya.

Saya tidak tahu apa-apa tentang Powermock, tetapi setelah 10 detik penelitian, sepertinya satu solusi adalah menulis pelari uji yang menggunakan loader kelas powermock dan menjalankan tes-tes yang diparameterisasi. Jika Anda dapat mengetahui cara mendelegasikan ke pelari pengujian parameter dari dalam uji pelari khusus Anda, itu mungkin merupakan pilihan terbaik Anda.


0
2018-03-16 13:38