Wie Sie programmgesteuert ausführen von unit-tests mit Gallio und MBUnit?
Ich versuche programmgesteuert überprüfen meine unit-tests sind vorbei, als ein Teil meines deployment-Prozess. Die Anwendung verwendet MBunit und Gallio für unit-testing framework.
Hier ist mein code:
var setup = new Gallio.Runtime.RuntimeSetup();
setup.AddPluginDirectory(@"C:\Program Files\Gallio\bin");
using (TextWriter tw = new StreamWriter(logFilename))
{
var logger = new Gallio.Runtime.Logging.TextLogger(tw);
RuntimeBootstrap.Initialize(setup, logger);
TestLauncher launcher = new TestLauncher();
launcher.AddFilePattern(dllToRunFilename);
TestLauncherResult result = launcher.Run();
}
Hier ist der test, die sich in der DLL, die ich bin laden (ich habe überprüft das funktioniert mit dem Ikarus-test-runner):
public class Tests
{
[Test]
public void Pass()
{
Assert.IsTrue(true);
}
[Test]
public void Fail()
{
Assert.Fail();
}
}
Wenn ich die Anwendung ausführen, bekomme ich die folgenden Werte in results
Ist falsch, denn es gibt in der Tat tests! Die log-Datei hat die folgende in es
Deaktiviert, plugin 'Gallio.VisualStudio.Shell90': Das plugin aktivieren
Zustand nicht zufrieden war. Bitte beachten Sie, dass dies beabsichtigt ist
Verhalten für plugins, die muss gehostet Dritter
Anwendungen, um zu arbeiten. Bedingung aktivieren:
'${Prozess:DEVENV.EXE_V9.0} oder ${Prozess:VSTESTHOST.EXE_V9.0} oder
${Prozess:MSTEST.EXE_V9.0} oder ${framework:NET35}'. Plugin deaktiviert
'Gallio.VisualStudio.Tip90': Das plugin von einem anderen abhängt deaktiviert
plugin: 'Gallio.VisualStudio.Shell90'.
Wie kann ich dieses Problem beheben und finden Sie die Ergebnisse der tests?
- Welche version von Visual Studio?
- Ich arbeite in VS2012
- Ich habe nicht gearbeitet mit Gallio vor, so bin ich nicht sicher, ob das egal, aber Ihr
Tests
Klasse ist nicht ein[TestFixture]
. Vielleicht Gallio ist nicht zu sehen, Lesen für die[Test]
weil es nicht finden können, das Gerät. - Ich habe entfernt die TestFixture-Attribut, und es ist kein Unterschied gemacht. Ich habe auch bestätigt, die DLL mit der Ikarus - test-runner es sich so verhält, als erwartet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies funktioniert für mich, beachte ich diese GallioBundle nuget zu bekommen gallio und mbunit, so vielleicht gibt es einige Unterschiede zu dem, was Sie installiert haben.
Werden die log-Meldungen in Bezug auf plugins zu erwarten sind, die plugins nicht funktionieren, wenn Sie self-hosting die Gallio-Laufzeit.
Getestet wie diese:
Diese Anweisung für die Ausführung MBUnit tests in Visual Studio 2012 und über die Verwendung einer ordentlich NUnit-trick.
Erstens, installieren Sie die NUnit Test Adapter Erweiterung (ja, NUnit)
NUnit Test Adapter.
Dann müssen Sie nur fügen Sie eine neue NUnit test-Attribut, um Ihre test-Methoden. Siehe Beispiel-code hier (beachten Sie die using-Anweisungen am Anfang) ...
Können Sie ausführen und Debuggen, die den test in visual studio NUnit und Gallio Icarus GUI-Test-Runner ausgeführt wird Sie als MBUnit (ermöglicht parallel läuft zum Beispiel). Sie müssen aufhören, Gallio durch die Ausführung des NUnit-tests durch Streichung der NUnit-Ordner in der gallio-Installationsort d.h. C:\Program Dateien\Gallio\bin\NUnit