2009-07-23 14 views
2

Wir verwenden MSTest für Komponententests in unserer Firma. Der Hauptgrund ist, dass es keine kostenlose Visual Studio Integration für MbUnit gibt (TestDriven.NET ist für Firmen nicht kostenlos).Ist es möglich, in mstest Tests wie in MbUnit durchzuführen?

Kürzlich bin ich auf die Notwendigkeit gestoßen, die gleichen Komponententests auf zwei verschiedenen Implementierungen derselben Schnittstelle auszuführen. Aus meiner Erfahrung weiß ich, dass es mit MbUnit einfach ist. Aber wie macht man das mit MSTest?

Ich betone den Punkt, dass ich separate Ergebnisse für jede Schnittstelle benötigen, also, bieten Sie keine Dinge wie die gleiche Methode zweimal - einmal pro Schnittstelle - von der gleichen Einheit Testmethode, weil dies nur ein Ergebnis ergibt .

Ich kenne die datengesteuerte Lösung und benutze sie jetzt, aber es ist ein Schmerz in der a * s. Gibt es einen einfacheren Weg, den MbUnit Weg?

Danke.

Antwort

1

Ich kenne keine elegante Möglichkeit, dies in MSTest neben der Verwendung seiner datengetriebenen Testfunktionen zu tun. Sie können jedoch versuchen, eine abstrakte Basisklasse für Ihre Testvorrichtung zu verwenden und dann für jede zu testende Schnittstelle eine Unterklasse davon zu erstellen.

BTW, Gallio bietet kostenlose Integration mit den Visual Studio Test Tools. Wir werden auch die Arbeit an einem anderen Add-In für Visual Studio als Teil von Gallio v3.2 fortsetzen.

+0

Hallo Jeff. Ich habe mich entschieden, es auszuprobieren, also habe ich Gallio heruntergeladen. Allerdings finde ich nicht das CombinatorialTestAttribute beim Durchsuchen der MbUnit.dll-Assembly mit Reflector. Wo kann ich es finden? – mark

+0

Gefunden in MbUnit.Framework.dll unter MbUnit2-Ordner. Bedeutet das, dass MbUnit v3 kombinatorische Tests nicht unterstützt? Gibt es einen Ort, wo ich darüber lesen kann? – mark

+0

Es hat nur eine andere Syntax in v3. Kombinieren Sie für einen kombinatorischen Test einfach die Datenquellen mit den einzelnen Parametern des Tests. [Test] public void MyTest ([Spalte (1, 2, 3)] int Nummer, [Spalte ('a', 'b', 'c')] Zeichen Buchstabe) {...} Sie finden Sie weitere Beispiele hier: http://blog.bits-in-motion.com/2008/05/announcing-gallio-v30-alpha-3.html –

Verwandte Themen