Sdílet prostřednictvím


TestCleanupAttribute – třída

Určuje metodu, která obsahuje kód, který musí použít po spuštění testu a uvolněte prostředky získané všechny zkoušky třídy test.Tato třída nemůže být zděděna.

Hierarchie dědičnosti

Object
  Attribute
    Microsoft.VisualStudio.TestTools.UnitTesting.TestCleanupAttribute

Obor názvů:  Microsoft.VisualStudio.TestTools.UnitTesting
Sestavení:  Microsoft.VisualStudio.QualityTools.UnitTestFramework (v Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)

Syntaxe

'Deklarace
<AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple := False)> _
Public NotInheritable Class TestCleanupAttribute _
    Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false)]
public sealed class TestCleanupAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method, AllowMultiple = false)]
public ref class TestCleanupAttribute sealed : public Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false)>]
type TestCleanupAttribute =  
    class 
        inherit Attribute 
    end
public final class TestCleanupAttribute extends Attribute

Typ TestCleanupAttribute zveřejňuje následující členy.

Konstruktory

  Název Popis
Veřejná metoda TestCleanupAttribute Vytvoří novou instanci třídy TestCleanupAttribute.

Nahoru

Vlastnosti

  Název Popis
Veřejná vlastnost TypeId Po implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno z Attribute.)

Nahoru

Metody

  Název Popis
Veřejná metoda Equals Infrastruktura. Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno z Attribute.)
Veřejná metoda GetHashCode Vrátí kód hash této instance. (Zděděno z Attribute.)
Veřejná metoda GetType Získá Type aktuální instance. (Zděděno z Object.)
Veřejná metoda IsDefaultAttribute Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnota pro odvozené třídy. (Zděděno z Attribute.)
Veřejná metoda Match Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda tato instance se rovná zadaný objekt. (Zděděno z Attribute.)
Veřejná metoda ToString Vrátí řetězec, který představuje aktuální objekt. (Zděděno z Object.)

Nahoru

Explicitní implementace rozhraní

  Název Popis
Explicitní implementace rozhraníSoukromá metoda System#Runtime#InteropServices#_Attribute#GetIDsOfNames Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno z Attribute.)
Explicitní implementace rozhraníSoukromá metoda System#Runtime#InteropServices#_Attribute#GetTypeInfo Načte informace o typu objektu, který lze použít, chcete-li získat informace o typu rozhraní. (Zděděno z Attribute.)
Explicitní implementace rozhraníSoukromá metoda System#Runtime#InteropServices#_Attribute#GetTypeInfoCount Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno z Attribute.)
Explicitní implementace rozhraníSoukromá metoda System#Runtime#InteropServices#_Attribute#Invoke Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno z Attribute.)

Nahoru

Poznámky

Metoda s tímto atributem bude spuštěn po metody označena TestMethodAttribute a před metody označena ClassCleanupAttribute a AssemblyCleanupAttribute.

Tento atribut může být zadán pro metodu.Pouze jedna instance tohoto atributu může použít pro metodu.

Ve výchozím nastavení je tento atribut použit generovaného kódu.

Další informace o použití atributů naleznete v Rozšiřování metadat pomocí atributů.

Příklady

Obor názvů SampleClassLib obsahuje třídu DivideClass, která obsahuje metodu, kterou chceme otestovat.Tato metoda se nazývá DivideMethod().

using System;
using System.Collections.Generic;
using System.Text;

namespace SampleClassLib
{
   public class DivideClass
   {
      public int DivideMethod(int a)
      {
         return 2 / a;
      }
   }
}
Imports System
Imports System.Collections.Generic
Imports System.Text

Namespace SampleClassLib
    Public Class DivideClass
        Public Function DivideMethod(ByVal a As Integer) As Integer
            Return 2 \ a
        End Function
    End Class
End Namespace

Následující kód obsahuje třídu DivideClassTest test zkušební metodu s názvem DivideMethodTest.Tento kód obsahuje také atributy, které určují pořadí inicializace a čištění provádění metody, třídy a sestavení.

Všimněte si zejména atributu TestCleanup v metodě Cleanup().

using Microsoft.VisualStudio.TestTools.UnitTesting;
using SampleClassLib;
using System;
using System.IO;
using System.Windows.Forms;

namespace TestNamespace
{
   [TestClass()]
   public class DivideClassTest
   {
      [AssemblyInitialize()]
      public static void AssemblyInit(TestContext context)
      {
         MessageBox.Show("Assembly Init");
         }

      [ClassInitialize()]
      public static void ClassInit(TestContext context)
      {
         MessageBox.Show("ClassInit");
      }

      [TestInitialize()]
      public void Initialize()
      {
         MessageBox.Show("TestMethodInit");
      }

      [TestCleanup()]
      public void Cleanup()
      {
         MessageBox.Show("TestMethodCleanup");
      }

      [ClassCleanup()]
      public static void ClassCleanup()
      {
         MessageBox.Show("ClassCleanup");
      }

      [AssemblyCleanup()]
      public static void AssemblyCleanup()
      {
         MessageBox.Show("AssemblyCleanup");
      }

      [TestMethod()]
      [ExpectedException(typeof(System.DivideByZeroException))]
      public void DivideMethodTest()
      {
         DivideClass target = new DivideClass();
         int a = 0; 
         int actual;
         actual = target.DivideMethod(a);
      }
   }
}
Imports Microsoft.VisualStudio.TestTools.UnitTesting
Imports System.Windows.Forms
Imports SCL2 = SampleClassLib2.SampleClassLib
Imports System
Imports System.IO

Namespace TestNamespace

   <TestClass()> _
   Public Class DivideClassTest

      <AssemblyInitialize()> _
      Public Shared Sub AssemblyInit(ByVal context As TestContext)
         MessageBox.Show("Assembly Init")
      End Sub

      <ClassInitialize()> _
      Public Shared Sub ClassInit(ByVal context As TestContext)
         MessageBox.Show("Test Class Init")
      End Sub

      <TestInitialize()> _
      Public Sub Initialize()
         MessageBox.Show("Test Initialize")
      End Sub

      <TestCleanup()> _
      Public Sub Cleanup()
         MessageBox.Show("Test Cleanup")
      End Sub

      <ClassCleanup()> _
      Public Shared Sub ClassCleanup()
         MessageBox.Show("Test Class Cleanup")
      End Sub

      <AssemblyCleanup()> _
      Public Shared Sub AssemblyCleanup()
         MessageBox.Show("Test Assembly Cleanup")
      End Sub

      <TestMethod()> _
      <ExpectedException(GetType(System.DivideByZeroException))> _
      Public Sub DivideMethodTest()
         Dim target As SCL.DivideClass = New SCL.DivideClass
         Dim a As Integer = 0
         Dim actual As Integer
         actual = target.DivideMethod(a)
      End Sub

   End Class
End Namespace

Bezpečný přístup z více vláken

Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou bezpečné pro přístup z více vláken. Není zaručeno, že členy instancí jsou bezpečné pro přístup z více vláken.

Viz také

Referenční dokumentace

Microsoft.VisualStudio.TestTools.UnitTesting – obor názvů