Sdílet prostřednictvím


AssemblyCleanupAttribute – třída

Určuje metodu, která obsahuje kód použít po spuštění všech testů v sestavení a uvolnit prostředky získané sestavení. Od této třídy nelze dědit.

Hierarchie dědičnosti

System.Object
  System.Attribute
    Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyCleanupAttribute

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 AssemblyCleanupAttribute _
    Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false)]
public sealed class AssemblyCleanupAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method, AllowMultiple = false)]
public ref class AssemblyCleanupAttribute sealed : public Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false)>]
type AssemblyCleanupAttribute =  
    class
        inherit Attribute
    end
public final class AssemblyCleanupAttribute extends Attribute

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

Konstruktory

  Název Popis
Veřejná metoda AssemblyCleanupAttribute Inicializuje novou instanci AssemblyCleanupAttribute Třída

Na začátek

Vlastnosti

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

Na začátek

Metody

  Název Popis
Veřejná metoda Equals Infrastruktura. Vrátí hodnotu, která označuje, zda je zadaný objekt rovna této instance. (Zděděno z Attribute.)
Chráněná metoda Finalize Umožňuje zkuste uvolnit prostředky a provádět další operace vyčištění před je převzaty systémem pro uvolnění objektu. (Zděděno z Object.)
Veřejná metoda GetHashCode Vrátí kód hash pro tuto instanci. (Zděděno z Attribute.)
Veřejná metoda GetType Získává Type aktuální instance. (Zděděno z Object.)
Veřejná metoda IsDefaultAttribute Přepsat v odvozené třídě označuje, zda hodnota této instance je 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.)
Chráněná metoda MemberwiseClone Vytvoří kopii aktuální Object. (Zděděno z Object.)
Veřejná metoda ToString Vrátí řetězec, který představuje aktuální objekt. (Zděděno z Object.)

Na začátek

Explicitní implementace rozhraní

  Název Popis
Explicitní implementace rozhraníSoukromá metoda _Attribute.GetIDsOfNames Mapuje sadu názvů identifikátorů odeslání odpovídající sadu. (Zděděno z Attribute.)
Explicitní implementace rozhraníSoukromá metoda _Attribute.GetTypeInfo Načte informace o typu objektu, který lze získat informace o rozhraní typu. (Zděděno z Attribute.)
Explicitní implementace rozhraníSoukromá metoda _Attribute.GetTypeInfoCount Vyhledá číslo rozhraní typu informací, že objekt obsahuje (0 nebo 1). (Zděděno z Attribute.)
Explicitní implementace rozhraníSoukromá metoda _Attribute.Invoke Poskytuje přístup k vlastnostem a metodám vystaven objekt. (Zděděno z Attribute.)

Na začátek

Poznámky

Metoda s tímto atributem bude spuštěn po metody označena TestCleanupAttribute a ClassCleanupAttribute atributy. Neprovede se, pokud je vyvolána neošetřená výjimka. Metody, která má AssemblyCleanupAttribute atributu bude spuštěn, pokud není ve stejné třídě jako zkušební metody. Pouze jednu metodu v sestavení může být dekorován tento atribut.

Důležité

Tento atribut by nepoužívá v prostředí ASP.SÍŤOVÉ jednotky testů, jakéhokoli testu s [HostType("ASP.NET")] atributu. Z důvodu příslušnosti povaha služby IIS a ASP.NET, dekorován tento atribut může být volána metoda více než jednou za zkoušky.

Tento atribut může být zadán pro metodu. Metody lze použít pouze jednu instanci tohoto atributu.

Další informace o použití atributů viz Rozšíření metadat pomocí atributů.

Příklady

Následující příklady ukazují inicializaci a čištění atributy, které se používají k označení, které metody by měl být spuštěn test motoru v různých obdobích testu.

První ukázky kódu obsahují třídy a metody testování. Chcete-li spustit příklad vytvoření projektu knihovny třídy a nahradit kód v následujícím příkladu.

using System;

namespace SampleClassLib
{
    public class DivideClass
    {
        public static int DivideMethod(int denominator)
        {
            return (2 / denominator);
        }
    }
}
Imports System

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

Následující příklad obsahuje kód test DivideMethod() v předchozí příklady kódu. Vytvoření projektu zkouška a zkouška třídy dokumentu vložte následující kód. Přidejte příslušné odkazy na projekt. Tento kód obsahuje 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 atribut AssemblyCleanup metody AssemblyCleanup ().

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

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

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

        [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.DivideMethod(0);
        }
    }
}
Imports Microsoft.VisualStudio.TestTools.UnitTesting
Imports SampleClassLib2.SampleClassLib
Imports System
Imports System.IO
Imports System.Windows.Forms

Namespace TestNamespace
    <TestClass()> _
    Public NotInheritable Class DivideClassTest
        <AssemblyInitialize()> _
        Public Shared Sub AssemblyInit(ByVal context As TestContext)
            MsgBox("AssemblyInit " + context.TestName)
        End Sub 'AssemblyInit

        <ClassInitialize()> _
        Public Shared Sub ClassInit(ByVal context As TestContext)
            MsgBox("ClassInit " + context.TestName)
        End Sub 'ClassInit

        <TestInitialize()> _
        Public Sub Initialize()
            MsgBox("TestMethodInit")
        End Sub 

        <TestCleanup()> _
        Public Sub Cleanup()
            MsgBox("TestMethodCleanup")
        End Sub 

        <ClassCleanup()> _
        Public Shared Sub ClassCleanup()
            MsgBox("ClassCleanup")
        End Sub 

        <AssemblyCleanup()> _
        Public Shared Sub AssemblyCleanup()
            MsgBox("AssemblyCleanup")
        End Sub

        <TestMethod()> _
        <ExpectedException(GetType(System.DivideByZeroException))> _
        Public Sub DivideMethodTest()
            DivideClass.DivideMethod(0)
        End Sub
    End Class
End Namespace

Zabezpečení podprocesu

Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou zabezpečeny pro používání podprocesů. Zabezpečení sdílených členů pro používání podprocesů není zaručeno.

Viz také

Odkaz

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

Další zdroje

Anatomy of a Unit Test

Unit Testing Framework