Aracılığıyla paylaş


ClassCleanupAttribute Sınıf

Sınama sınıfındaki tüm sınamalar çalıştırdıktan sonra kullanılacak ve test sınıfı tarafından alınan Kaynakları boşaltmak için kod içeren bir yöntem tanımlar.Bu sınıf devralınamaz.

Devralma Hiyerarşisi

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

Ad alanı:  Microsoft.VisualStudio.TestTools.UnitTesting
Derleme:  Microsoft.VisualStudio.QualityTools.UnitTestFramework (Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll içinde)

Sözdizimi

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

ClassCleanupAttribute türü aşağıdaki üyeleri ortaya koyar.

Oluşturucular

  Ad Açıklama
Genel yöntem ClassCleanupAttribute Yeni bir örneğini başlatır ClassCleanupAttribute sınıfı.

Üst

Özellikler

  Ad Açıklama
Genel özellik TypeId Türetilmiş bir sınıf içerisinde uygulanan, bunun için benzersiz bir tanımlayıcı alır Attribute. (Attribute kaynağından devralındı.)

Üst

Yöntemler

  Ad Açıklama
Genel yöntem Equals Altyapı. Bu örnek, belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür. (Attribute kaynağından devralındı.)
Genel yöntem GetHashCode Bu örnek için karma kodunu döndürür. (Attribute kaynağından devralındı.)
Genel yöntem GetType Alır Type geçerli örneğinin. (Object kaynağından devralındı.)
Genel yöntem IsDefaultAttribute Türetilmiş bir sınıfta geçersiz kılınmış, bu örneğin değeri türetilmiş bir sınıf için varsayılan değer olup olmadığını gösterir. (Attribute kaynağından devralındı.)
Genel yöntem Match Türetilmiş bir sınıfta geçersiz kılınmış, bu örnek, belirtilen nesne eşit olup olmadığını gösteren bir değeri döndürür. (Attribute kaynağından devralındı.)
Genel yöntem ToString Geçerli nesneyi temsil eden bir dize döndürür. (Object kaynağından devralındı.)

Üst

Açık Arabirim Uygulamaları

  Ad Açıklama
Açık arabirim uygulamasıÖzel yöntem _Attribute.GetIDsOfNames Adlar kümesi dağıtma tanımlayıcıları karşılık gelen bir dizi eşleştirir. (Attribute kaynağından devralındı.)
Açık arabirim uygulamasıÖzel yöntem _Attribute.GetTypeInfo Bir arabirim türü bilgilerini almak için kullanılan bir nesne türü bilgilerini alır. (Attribute kaynağından devralındı.)
Açık arabirim uygulamasıÖzel yöntem _Attribute.GetTypeInfoCount Bir nesne (0 veya 1) sağlar türü bilgileri arabirimi sayısının alır. (Attribute kaynağından devralındı.)
Açık arabirim uygulamasıÖzel yöntem _Attribute.Invoke Özellikleri ve yöntemleri bir nesnesinin kullandığı erişim sağlar. (Attribute kaynağından devralındı.)

Üst

Notlar

Yöntemleri ile işaretlenmiş sonra bu özniteliğiyle işaretlenmiş yöntemi Çalıştır TestCleanupAttribute yöntemi ile işaretlenmiş önce AssemblyCleanupAttribute.Bir sınıfta tek yöntem, bu öznitelik ile donatılmış.

Önemli notÖnemli

Bu özellik, asp kullanılmamalıdır.net birimi sınamaları, diğer bir deyişle, herhangi bir test [HostType("ASP.NET")] özniteliği.IIS ve asp durumsuz doğası nedeniyle.net, bu öznitelik ile donatılmış bir yöntem birden çok kez çalıştırmak test olarak adlandırılabilir.

Bir yöntem bu özniteliği belirtilebilir.Bu öznitelik yalnızca bir örneği için bir yöntem uygulanabilir.

Öznitelikleri kullanma hakkında daha fazla bilgi için bkz: Öznitelikleri kullanarak meta verileri genişletme.

Örnekler

Aşağıdaki örnekler, başlatma ve hangi yöntemleri test motoru tarafından test farklı dönemlerdeki çalıştırılmalıdır göstermek için kullanılan temizleme öznitelikleri göstermektedir.

Sınıf ve test yöntemi ilk kod örnekleri içerir.Bu örneği çalıştırmak için bir class library projesi oluşturun ve aaıdaki örnek kod Değiştir.

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

Aşağıdaki örnek test etmek için kod içeren DivideMethod() önceki kod örnekleri bulundu.Test bir proje oluşturduğunuzda ve bir sınama sınıf belgede aşağıdaki kodu yerleştirin.Uygun başvuruları projeye ekleyin.Bu kod, yöntem, sınıf ve derleme için başlatma ve temizleme yürütme sırasını denetlemek öznitelikleri içerir.

Özellikle, ClassCleanup () yöntemi ClassCleanup özniteliği dikkat edin.

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

İş Parçacığı Güvenliği

Bu türün tüm genel statik (Visual Basic'te Shared) üyeleri iş parçacığı açısından güvenlidir. Hiçbir örnek üyesinin iş parçacığı açısından güvenliği garanti edilemez.

Ayrıca bkz.

Başvuru

Microsoft.VisualStudio.TestTools.UnitTesting Ad Alanı

Diğer Kaynaklar

Birim Test anatomisi

Unit Testing Framework