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

Wie Sie programmgesteuert ausführen von unit-tests mit Gallio und MBUnit?

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.
InformationsquelleAutor Liath | 2014-01-10
Schreibe einen Kommentar