Freigeben über


AssemblyInitializeAttribute-Konstruktor

Initialisiert eine neue Instanz der AssemblyInitializeAttribute-Klasse.

Namespace:  Microsoft.VisualStudio.TestTools.UnitTesting
Assembly:  Microsoft.VisualStudio.QualityTools.UnitTestFramework (in Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)

Syntax

'Declaration
Public Sub New
public AssemblyInitializeAttribute()
public:
AssemblyInitializeAttribute()
new : unit -> AssemblyInitializeAttribute
public function AssemblyInitializeAttribute()

Beispiele

In den folgenden Beispielen werden die Initialisierungs- und Bereinigungsattribute dargestellt, durch welche die Methoden angegeben werden, die vom Testmodul während verschiedener Testphasen ausgeführt werden sollen.

Die ersten Codebeispiele enthalten eine Klasse und eine Methode, die getestet werden sollen. Um dieses Beispiel auszuführen, erstellen Sie ein Klassenbibliotheksprojekt und ersetzen den Code durch folgendes Beispiel.

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

Das folgende Beispiel enthält Code, mit dem DivideMethod() aus den vorherigen Codebeispielen getestet wird. Erstellen Sie ein Testprojekt, und fügen Sie den folgenden Code in ein Testklassendokument ein. Fügen Sie dem Projekt die entsprechenden Verweise hinzu. Dieser Code enthält Attribute, die für die Methode, Klasse und Assembly die Reihenfolge der Ausführung von Initialisierungen und Bereinigungen steuern.

Beachten Sie insbesondere das AssemblyInitialize-Attribut der AssemblyInit()-Methode.

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

.NET Framework-Sicherheit

Siehe auch

Referenz

AssemblyInitializeAttribute Klasse

Microsoft.VisualStudio.TestTools.UnitTesting-Namespace