Turinys:

Ar galite išbandyti statinius metodus?
Ar galite išbandyti statinius metodus?

Video: Ar galite išbandyti statinius metodus?

Video: Ar galite išbandyti statinius metodus?
Video: What is a static method? - Cracking the Java Coding Interview 2024, Lapkritis
Anonim

Į vienetas išbandys jus reikia paimti nedidelį gabalėlį tavo kodą, perjunkite jo priklausomybes ir bandymas tai atskirai. Sunku su tuo statiniai metodai , ne tik tuo atveju, kai jie pasiekia pasaulinę būseną, bet netgi jeigu jie tiesiog vadina kitus statiniai metodai.

Atsižvelgiant į tai, kaip tikrinate statinius metodus?

Yra keturi paprasti statinio skambučio testo nustatymo veiksmai:

  1. Naudokite PowerMock JUnit bėgiką: @RunWith(PowerMockRunner.
  2. Paskelbkite testo klasę, iš kurios mes tyčiojamės:
  3. Pasakykite „PowerMock“klasės, kurioje yra statinių metodų, pavadinimą:
  4. Nustatykite lūkesčius, nurodydami „PowerMock“, kad tikimasi statinio metodo iškvietimo:

Panašiai, ar galime pašiepti statinius C# metodus? 4 atsakymai. Moq (ir kitų „DynamicProxy“pagrindu pašaipiai karkasai) negali pasityčioti viskas, kas nėra virtualu ar abstraktu metodas . Arba tu galėtum pertvarkyti savo dizainą į abstrakčius skambučius statiniai metodai , ir pateikite šią abstrakciją savo klasei per priklausomybės injekciją.

Kalbant apie tai, kaip jūs bandote privačius metodus?

Vieneto testas tik viešai prieinama API. Rašant vienetiniai testai , imituoja SUT klientų elgesį. Nereikia išbandyti privačius metodus . Arba vieneto testas netiesiogiai, naudodami viešąją API, arba išskleiskite juos į atskiras klases ir bandymas vietoj tos klasės.

Kas yra statinis metodas?

Java programoje a statinis metodas yra metodas kuri priklauso klasei, o ne klasės egzemplioriui. The metodas yra prieinamas kiekvienam klasės egzemplioriui, bet metodus apibrėžtus egzemplioriuje, prieigas gali pasiekti tik tas klasės narys.

Rekomenduojamas: