Utilizarea de piedici pentru a izola unele părți din aplicații unul față de celălalt cu testarea unității

Tipurile de stuburi reprezintă una dintre cele două tehnologii pe care platforma Microsoft Fakes le oferă o izolare mai ușoară a componentei testate de alte componente solicitate. Un stub este o bucată mică de cod care înlocuiește o altă componentă în timpul testării. Avantajul utilizării unui stub este acela că returnează rezultate consecvente, simplificând scrierea testului. Testele pot fi efectuate chiar dacă alte componente nu funcționează încă.







Pentru o prezentare generală rapidă și recomandări despre cum să începeți rapid cu Fake, consultați Izolarea codului de testare cu Microsoft Fake.

Diagrama prezintă componenta StockAnalyzer pe care doriți să o testați. De obicei, folosește o altă componentă - RealStockFeed. Dar RealStockFeed returnează rezultate diferite de fiecare dată când se cheamă metodele sale, ceea ce face dificilă testarea StockAnalyzer. În timpul testării, înlocuim această componentă cu o altă clasă - StubStockFeed.

Utilizarea de piedici pentru a izola unele părți din aplicații unul față de celălalt cu testarea unității

Deoarece se presupune că piticii pot structura codul în acest mod, ei sunt de obicei utilizați pentru a izola o parte a aplicației de alta. Pentru a o izola de alte ansambluri pe care nu le puteți controla, cum ar fi System.dll, de obicei utilizați shell-uri. Consultați Utilizarea Shell-urilor de compatibilitate pentru a izola aplicația de la alte ansambluri pentru testarea unității.

  • Visual Studio Enterprise






Există modalități mai flexibile de a efectua această conexiune. De exemplu, StockAnalyzer poate accepta un obiect din fabrică care poate crea instanțe de implementări diferite ale IStockFeed în condiții diferite.

Crearea de stuburi

Ați separat clasa pe care trebuie să o testați de la celelalte componente pe care le utilizează. Această separare permite nu numai să facă aplicația mai fiabilă și mai flexibilă, ci și să conecteze componenta testată la implementările de pe cuburile interfețelor pentru testare.

Este suficient să scrieți în mod obișnuit ca niște clase. Cu toate acestea, Microsoft Fakes oferă o modalitate mai dinamică de a crea cel mai potrivit stub pentru fiecare test.

Pentru a utiliza stubs, mai întâi trebuie să creați tipuri de stuburi din definițiile interfeței.

Adăugarea unui ansamblu de simulare

În Solution Explorer, extindeți lista de link-uri pentru proiectul de testare a unității.

Selectați un ansamblu care conține definițiile de interfață pentru care doriți să creați pietre.

În meniul contextual, faceți clic pe Adăugare Adunare simulare.

Crearea unui test cu stuburi

Blank-urile sunt, de asemenea, create pentru metodele de obținere și specificare a proprietăților, pentru evenimente și pentru metode universale.

Verificarea valorilor parametrilor

Puteți verifica dacă componenta trece valorile corecte când apelează o altă componentă. Puteți pune declarația într-un stub sau salvați valoarea și testați-o în partea principală a testului. De exemplu:

După cum este descris în exemplul respectiv, metodele pot fi înlocuite cu piedici prin adăugarea unui delegat la o instanță a clasei stub. Numele tipului de stub este derivat din numele metodelor și al parametrilor. De exemplu, sunt oferite următoarea interfață IMyInterface și metoda MyMethod.

Am atașat stubul la metoda MyMethod. care întoarce întotdeauna o valoare de 1.

Dacă nu oferiți un stub pentru funcție, Fake va crea o funcție care returnează valoarea implicită a tipului de retur. Pentru numere, valoarea implicită este 0, iar pentru tipurile de clase, null (C #) sau Nothing (Visual Basic).

Metodele de obținere și de stabilire a proprietăților sunt reprezentate ca delegații separați și pot fi înlocuiți separat de stuburi. De exemplu, luați în considerare proprietatea Value a interfeței IMyInterface.

Dacă nu furnizați metode de stub pentru metoda de obținere sau setare a unei proprietăți, Fake va crea un stub care stochează valorile astfel încât proprietatea stub să acționeze ca o variabilă simplă.

Evenimentele sunt reprezentate ca câmpuri delegate. Ca rezultat, eventualele evenimente care sunt înlocuite cu stub-uri pot fi apelate prin apelarea câmpului de evenimente de rezervă. Luați în considerare următoarea interfață, care trebuie înlocuită cu un stub.







Trimiteți-le prietenilor: