Satura rādītājs:

Vai jūs varat pārbaudīt statiskās metodes?
Vai jūs varat pārbaudīt statiskās metodes?

Video: Vai jūs varat pārbaudīt statiskās metodes?

Video: Vai jūs varat pārbaudīt statiskās metodes?
Video: Static Method In Java Tutorial - The Difference Between A Static Method And NonStatic Method In Java 2024, Novembris
Anonim

Uz vienība pārbauda jūs vajag paņemt nelielu gabaliņu jūsu kodu, pārslēdziet tā atkarības un pārbaude to izolēti. Tas ir grūti ar statiskās metodes , ne tikai tad, ja tie piekļūst globālam stāvoklim, bet pat ja viņi vienkārši sauc citus statiskās metodes.

Ņemot to vērā, kā pārbaudīt statiskās metodes?

Ir četras vienkāršas darbības, lai iestatītu testu, kas izsmej statisku zvanu:

  1. Izmantojiet PowerMock JUnit skrējēju: @RunWith(PowerMockRunner.
  2. Paziņojiet par pārbaudes klasi, par kuru mēs ņirgājamies:
  3. Pastāstiet PowerMock klases nosaukumu, kurā ir statiskās metodes:
  4. Iestatiet cerības, liekot PowerMock sagaidīt statiskas metodes izsaukumu:

Līdzīgi, vai mēs varam izsmiet statiskās metodes C#? 4 atbildes. Moq (un citi uz DynamicProxy balstīti ņirgāšanās ietvarus) nespēj izsmiet jebkas, kas nav virtuāls vai abstrakts metodi . Alternatīvi, tu varētu pārveidot savu dizainu abstraktiem izsaukumiem statiskās metodes , un sniedziet šo abstrakciju savai klasei, izmantojot atkarības injekciju.

Saistībā ar to, kā jūs pārbaudāt privātās metodes?

Vienības pārbaude tikai publiski pieejamā API. Rakstot vienību testi , atdarina SUT klientu uzvedību. Nevajag pārbaudīt privātās metodes . Arī vienības tests netieši, izmantojot publisko API, vai izvelciet tos atsevišķās klasēs un pārbaude tās klases vietā.

Kas ir statiskā metode?

Java valodā a statiskā metode ir metodi kas pieder klasei, nevis klases gadījumam. The metodi ir pieejams katram klases gadījumam, bet metodes definētajiem instancē, tiem var piekļūt tikai šis klases dalībnieks.

Ieteicams: