3 Stimmen

C# Einheitstest Code Fragen

Wir beginnen mit der Verwendung der integrierten Unit-Test-Funktionalität in C#. Ich habe VisualStudio 2008 erstellt den Unit-Test-Code für mich. Ich habe ein paar Fragen zum generierten Code. Hier ist der Code, den ich aus der generierten Datei kopiert habe:

  #region Weitere Testattribute
  // 
  //Sie können die folgenden zusätzlichen Attribute verwenden, während Sie Ihre Tests schreiben:
  //
  //Verwenden Sie ClassInitialize, um Code auszuführen, bevor der erste Test in der Klasse ausgeführt wird
  //[ClassInitialize()]
  //public static void MyClassInitialize(TestContext testContext)
  //{
  //}
  //
  //Verwenden Sie ClassCleanup, um Code auszuführen, nachdem alle Tests in einer Klasse ausgeführt wurden
  //[ClassCleanup()]
  //public static void MyClassCleanup()
  //{
  //}
  //
  //Verwenden Sie TestInitialize, um Code auszuführen, bevor jeder Test ausgeführt wird
  //[TestInitialize()]
  //public void MyTestInitialize()
  //{
  //}
  //
  //Verwenden Sie TestCleanup, um Code auszuführen, nachdem jeder Test ausgeführt wurde
  //[TestCleanup()]
  //public void MyTestCleanup()
  //{
  //}
  //
  #endregion

Wenn ich die Initialisierungs- und Aufräummethoden benötige, muss ich diese "My" aus dem Methodennamen entfernen, wenn ich sie aktiviere?

  //Verwenden Sie ClassInitialize, um Code auszuführen, bevor der erste Test in der Klasse ausgeführt wird
  //[ClassInitialize()]
  //public static void MyClassInitialize(TestContext testContext)
  //{
  //}

Muss ich die Methode "MyClassInitialize" irgendwo aufrufen, bevor der erste Test ausgeführt wird, oder wird sie automatisch aufgerufen, bevor andere Methoden aufgerufen werden.

Ähnliche Fragen zu den anderen drei Methoden, werden sie automatisch im richtigen Zeitrahmen aufgerufen?

6voto

tvanfosson Punkte 506878

Die Methoden werden automatisch vom Test-Framework aufgerufen. Du kannst sie umbenennen, wenn du möchtest, da es die Attribute verwendet, um die richtigen Methoden zur richtigen Zeit aufzurufen. Vergiss nicht, die Attribute sowie die Methode selbst auszukommentieren, sonst kann das Test-Framework die Methode nicht finden und aufrufen.

3voto

Matt Greer Punkte 58978

Nein, der Name der Methoden ist irrelevant. Nenne sie wie du möchtest. Es sind die Attribute über den Methoden, die dem Testlaufzeitumgebung mitteilen, wofür die Methoden sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X