mboost-dp1

Problemer med MSTEST (unit tests)


Gå til bund
Gravatar #1 - ghostface
5. jul. 2009 15:52
Hey alle
Jeg har i forbindelse med dokumenation brug for at lave nogle unit tests på en webservice.

En af de tests kræver at webservicen lige har startet op (og derfor ingen statistik har endnu) og tjekker netop at den svarer tilbage at den intet har lavet endnu (dokumentation af fejlhåndtering)

MSTEST lader dog til at køre samtlige unit tests på engang og det er derfor ikke sikkert at "0 statistik" testen bliver kørt inden de andre (som vil resultere i der nu er statistik)

Kan det virkelig passe at MSTEST unit tests ikke kan køres i en rækkefølge uden jeg skal til at køre dem individuelt.

Jeg er "lige" startet på MSTEST og har kun praktisk erfarring i jUnit så jeg ved ikke hvad mulighederne er i MSTEST.

Kort sagt, kan tests orderes i MSTEST unit tests?
Gravatar #2 - Windcape
5. jul. 2009 19:42
Ikke at jeg skal kunne svare på det, men de fleste jeg kender anbefaler at man benytter nUnit istedet for MSTest.
Gravatar #3 - ghostface
5. jul. 2009 19:55
#2 ja det er nok også sidste udvej men jeg vil gerne undgå nUnit da det umiddelbart kræver et plugin (for grafisk integration). Det gør jeg skal overtale min chef til at betale for det.

Så hvis der er en mulighed i MSTEST så er det helt klart at foretrække
Gravatar #4 - arne_v
5. jul. 2009 20:18
#3

Jeg mener da bestemt at NUnit kommer med NUnit-GUI helt gratis.

Det er dog muligt at du skal betale for et VS plugin.
Gravatar #5 - arne_v
5. jul. 2009 20:20
#1

Du kan ikke redesigne dine test uden om problemet ?

Det er ikke specielt unit test'sk hvis de enkelte unit tests har dependencies som gør at de skal køres i en bestemt rækkefølge.

Ja - det kan godt koste lidt resourcer at sætte env op for hver enkelt test, men det gør altså også ens test noget mere robust/fleksibel.
Gravatar #6 - ghostface
5. jul. 2009 21:11
#5 helt sikkert at det er fremgangsmåden normalt.
Skulle det gøres som det foreskrives skulle jeg jo bare sætte domænet op med de objekter der skal til for at testen kan afvikles.

Det er dog ikke helt så nemt når det er en webservice og unit tests kontraktuelt skal være en selvstændigt fra webservice (altså teste webservice som var den en klient hvor som helst på kloden).

Så unit tests har hverken adgang til at starte, stoppe eller resette webservice.

Det er netop derfor jeg har brug for at køre dem der kræver webservice lige er startet op for at være korrekte.

Konceptet går i alt sin enkelthed ud på man skal kunne starte webservice og køre unit tests for at sikre alt fungerer som det skal samt at give kunden en indsigt i hvad der forventes i forskellige situationer af produktet (ud over den normale dokumentation).

Er det muligt med nUnit? i så fald må jeg jo overveje at lave det skift. Er det ikke så må jeg jo dele det op i flere test klasser og køre de der kræver clean start først. Noget bøvlet måde at gøre det på dog.
Gravatar #7 - arne_v
5. jul. 2009 21:57
#6

Jeg mener bestemt at man kan genstarte IIS programmatisk fra .NET kode.

Og så kan det også laves i noget setup kode.
Gravatar #8 - Windcape
6. jul. 2009 07:44
Kig på ServiceController (C#), og W3SVC (IIS as Service) for at genstarte fra kode.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login