Bagaimanakah anda mengejek kelas statik?
Bagaimanakah anda mengejek kelas statik?

Video: Bagaimanakah anda mengejek kelas statik?

Video: Bagaimanakah anda mengejek kelas statik?
Video: Rocky gerung : Pendidikan Indonesia 2024, Mungkin
Anonim

Buat antara muka untuk DriverManager, mengejek antara muka ini, menyuntiknya melalui beberapa jenis suntikan pergantungan dan sahkan mengenainya mengejek . Pemerhatian: Apabila anda menelefon kaedah statik dalam statik entiti, anda perlu menukar kelas dalam @PrepareForTest. kemudian, anda perlu menyediakan kelas kod ini berada di dalam.

Dengan ini, bolehkah kita mengejek kaedah statik?

Mockito membolehkan kami mencipta mengejek objek. Sejak kaedah statik tergolong dalam kelas, tidak ada cara di Mockito untuk kaedah statik olok-olok . Walau bagaimanapun, kita boleh gunakan PowerMock bersama rangka kerja Mockito untuk kaedah statik olok-olok.

bolehkah kita mengejek kaedah statik C#? 4 Jawapan. Moq (dan lain-lain berasaskan DynamicProxy mengejek rangka kerja) tidak dapat mengejek apa-apa yang bukan maya atau abstrak kaedah . Sebagai alternatif, kamu boleh faktorkan semula reka bentuk anda kepada panggilan abstrak ke kaedah statik , dan berikan abstraksi ini kepada kelas anda melalui suntikan pergantungan.

Begitu juga, orang bertanya, bolehkah kita mengejek kaedah statik menggunakan MOQ?

Kaedah Statik Mengejek Alat percuma seperti Moq boleh sahaja mengejek antara muka atau maya/abstrak kaedah pada kelas dengan pembina lalai awam. Jika awak perlu benar-benar kaedah statik olok-olok , awak perlu menggunakan alat komersial seperti Microsoft Fakes (sebahagian daripada Visual Studio Enterprise) atau Typemock Isolator.

Mengapa kaedah statik tidak baik?

Di alam semesta OO kaedah statik adalah anti jirim. Mereka tidak semestinya begitu teruk , tetapi ia berbahaya, kerana ia digunakan secara salah. Terdapat hanya dua situasi apabila kaedah statik atau pembolehubah sedang digunakan dan ia bukan satu kekejian. Kaedah statik adalah sesuatu yang berharga dan sah kaedah penciptaan objek.

Disyorkan: