Udostępnij za pośrednictwem


Konstruktor ClassInitializeAttribute —

Inicjuje nowe wystąpienie ClassInitializeAttribute klasy.

Przestrzeń nazw:  Microsoft.VisualStudio.TestTools.UnitTesting
Zestaw:  Microsoft.VisualStudio.QualityTools.UnitTestFramework (w Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)

Składnia

'Deklaracja
Public Sub New
public ClassInitializeAttribute()
public:
ClassInitializeAttribute()
new : unit -> ClassInitializeAttribute
public function ClassInitializeAttribute()

Przykłady

W poniższych przykładach pokazano inicjowania i oczyszczanie atrybuty używane do wskazania metody, które powinny być uruchamiane przez silnik badany w różnych okresach testu.

Pierwszy przykłady kodu zawiera klasy i metody badania.Aby uruchomić ten przykład, utworzyć projekt biblioteki klas i Zastąp kod w poniższym przykładzie.

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

Poniższy przykład zawiera kod, aby przetestować DivideMethod() w poprzednich przykładach kodu.Tworzenie projektu badania i umieść następujący kod w dokumencie klasy badania.Dodaj odpowiednie odniesienia do projektu.Ten kod zawiera atrybuty, które kontrolować kolejność wykonywania inicjowania i oczyszczania dla metody klasy i montażu.

W szczególności należy zwrócić uwagę, atrybut ClassInitialize metodę ClassInit ().

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

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

ClassInitializeAttribute Klasa

Przestrzeń nazw Microsoft.VisualStudio.TestTools.UnitTesting