ClassInitializeAttribute Sınıf
Herhangi bir sınama sınıfındaki sınamaları çalıştırmadan önce kullanılması gereken kodu içeren bir yöntem ve test sınıfı tarafından kullanılmak üzere kaynak tahsis etmek için tanımlar.Bu sınıf devralınamaz.
Devralma Hiyerarşisi
System.Object
System.Attribute
Microsoft.VisualStudio.TestTools.UnitTesting.ClassInitializeAttribute
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 ClassInitializeAttribute _
Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false)]
public sealed class ClassInitializeAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method, AllowMultiple = false)]
public ref class ClassInitializeAttribute sealed : public Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false)>]
type ClassInitializeAttribute =
class
inherit Attribute
end
public final class ClassInitializeAttribute extends Attribute
ClassInitializeAttribute türü aşağıdaki üyeleri ortaya koyar.
Oluşturucular
Ad | Açıklama | |
---|---|---|
ClassInitializeAttribute | Yeni bir örneğini başlatır ClassInitializeAttribute sınıfı. |
Üst
Özellikler
Ad | Açıklama | |
---|---|---|
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 | |
---|---|---|
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ı.) | |
GetHashCode | Bu örnek için karma kodunu döndürür. (Attribute kaynağından devralındı.) | |
GetType | Alır Type geçerli örneğinin. (Object kaynağından devralındı.) | |
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ı.) | |
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ı.) | |
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 | |
---|---|---|
_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ı.) | |
_Attribute.GetTypeInfo | Bir arabirim türü bilgilerini almak için kullanılan bir nesne türü bilgilerini alır. (Attribute kaynağından devralındı.) | |
_Attribute.GetTypeInfoCount | Bir nesne (0 veya 1) sağlar türü bilgileri arabirimi sayısının alır. (Attribute kaynağından devralındı.) | |
_Attribute.Invoke | Özellikleri ve yöntemleri bir nesnesinin kullandığı erişim sağlar. (Attribute kaynağından devralındı.) |
Üst
Notlar
Yük sınamada çalıştırdığınızda bu özniteliğiyle işaretlenen yöntem çok kez çalıştırılacaksa ve gerçekleştirdiği başlatma işlemleri için tüm test uygulanır.Kullanmak için bir sınama sanal kullanıcı her tekrarda kez başlatma işlemleri yapmanız gerekiyorsa, TestInitializeAttribute.
Yöntemleri çalıştırma sırası aşağıdaki gibidir:
Yöntemleri ile işaretli AssemblyInitializeAttribute.
Yöntemleri ile işaretli ClassInitializeAttribute.
Yöntemleri ile işaretli TestInitializeAttribute.
Yöntemleri ile işaretli TestMethodAttribute.
Bir sınıfta tek yöntem, bu öznitelik ile donatılmış.
Ö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öntemi sınama birden çok kez çağ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, ClassInit () yöntemi ClassInitialize ö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ı