Sisällysluettelo:

Voitko testata staattisia menetelmiä?
Voitko testata staattisia menetelmiä?

Video: Voitko testata staattisia menetelmiä?

Video: Voitko testata staattisia menetelmiä?
Video: IPS-menetelmäkoulutus: Työn muokkaamisen menetelmät 30.9.2021 2024, Marraskuu
Anonim

Vastaanottaja yksikkö testaa sinua täytyy ottaa pieni pala sinun koodi, kytke sen riippuvuudet uudelleen ja testata se erillään. Tämän kanssa on vaikeaa staattiset menetelmät , ei vain siinä tapauksessa, että he pääsevät globaaliin tilaan, vaan jopa jos he vain soittavat muille staattiset menetelmät.

Miten testaat staattisia menetelmiä tämän huomioon ottaen?

Staattista puhelua pilkkaavan testin määrittämisessä on neljä helppoa vaihetta:

  1. Käytä PowerMock JUnit -juoksua: @RunWith(PowerMockRunner.
  2. Ilmoita koeluokka, jota pilkkaamme:
  3. Kerro PowerMockille staattisia menetelmiä sisältävän luokan nimi:
  4. Aseta odotukset ja kerro PowerMockin odottavan kutsua staattiseen menetelmään:

Voimmeko samalla tavalla pilkata staattisia menetelmiä C#? 4 vastausta. Moq (ja muut DynamicProxy-pohjaiset pilkkaaminen puitteet) eivät pysty pilkata kaikkea, mikä ei ole virtuaalista tai abstraktia menetelmä . Vaihtoehtoisesti sinä voisit muuntaa suunnittelusi abstrakteiksi kutsuiksi staattiset menetelmät , ja toimita tämä abstraktio luokallesi riippuvuusruiskeella.

Miten tässä suhteessa testaat yksityisiä menetelmiä?

Yksikkötesti vain julkisesti saatavilla oleva API. Kun kirjoitat yksikkötestit , matkivat SUT:n asiakkaiden käyttäytymistä. Älä testaa yksityisiä menetelmiä . Jompikumpi yksikkötesti ne epäsuorasti julkisen API:n avulla tai purkaa ne erillisiin luokkiin ja testata sen sijaan ne luokat.

Mikä on staattinen menetelmä?

Javassa a staattinen menetelmä on menetelmä joka kuuluu luokkaan eikä luokan esiintymään. The menetelmä on kaikkien luokan esiintymien käytettävissä, mutta menetelmiä ilmentymässä määritellyt ovat vain kyseisen luokan jäsenen käytettävissä.

Suositeltava: