Wie kann ich angeben test method Parameter mit TestDriven.NET?

Schreibe ich unit-tests mit NUnit und die TestDriven.NET plugin. Ich möchte die Parameter einer test-Methode wie diese :

[TestFixture]
public class MyTests
{
    [Test]
    public void TestLogin(string userName, string password)
    {
        //...
    }

    ...
}

Wie Sie sehen können, diese Parameter sind private Daten, so will ich nicht zu hard-code oder Sie in eine Datei. Eigentlich möchte ich nicht zu schreiben, Sie überall, ich will Sie dazu aufgefordert werden jedes mal, wenn ich den test ausführen.

Wenn ich versuche, diesen test ausführen, bekomme ich folgende Meldung im output-Fenster :

TestCase " MyProject.MyTests.TestLogin' nicht ausgeführt werden: Keine Argumente geliefert wurden

Also meine Frage ist, wie kann ich diese Parameter ? Ich erwartete TestDriven.NET um eine Eingabeaufforderung angezeigt, so dass ich die Werte eingeben, aber es hat nicht...

Sorry, wenn meine Frage scheint dumm, die Antwort ist wahrscheinlich sehr einfach, aber ich konnte nicht finden, etwas nützliches auf Google...


EDIT: ich habe gerade einen Weg gefunden, es zu tun, aber es ist ein schmutziger trick...

    [Test, TestCaseSource("PromptCredentials")]
    public void TestLogin(string userName, string password)
    {
        //...
    }

    static object[] PromptCredentials
    {
        get
        {
            string userName = Interaction.InputBox("Enter user name", "Test parameters", "", -1, -1);
            string password = Interaction.InputBox("Enter password", "Test parameters", "", -1, -1);
            return new object[]
            {
                new object[] { userName, password }
            };
        }
    }

Ich bin immer noch interessiert an einer besseren Lösung.

Ich denke, wenn Sie dies tun, werden Sie Probleme haben, laufen die tests automatisch in eine CI (Continuous Itegration) Umwelt.
Du hast absolut Recht. Jedoch, es ist ein kleines community-Projekt, also CI ist nicht wirklich ein Problem, zumindest für jetzt.

InformationsquelleAutor Thomas Levesque | 2009-09-05

Schreibe einen Kommentar