DeploymentItemAttribute-Klasse
Wird zum Angeben von Bereitstellungselementen für einen Test verwendet, beispielsweise Dateien oder Verzeichnisse. Diese Klasse kann nicht vererbt werden.
Vererbungshierarchie
System.Object
System.Attribute
Microsoft.VisualStudio.TestTools.UnitTesting.DeploymentItemAttribute
Namespace: Microsoft.VisualStudio.TestTools.UnitTesting
Assembly: Microsoft.VisualStudio.QualityTools.UnitTestFramework (in Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)
Syntax
'Declaration
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Method, AllowMultiple := True)> _
Public NotInheritable Class DeploymentItemAttribute _
Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = true)]
public sealed class DeploymentItemAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Method, AllowMultiple = true)]
public ref class DeploymentItemAttribute sealed : public Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = true)>]
type DeploymentItemAttribute =
class
inherit Attribute
end
public final class DeploymentItemAttribute extends Attribute
Der DeploymentItemAttribute-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
DeploymentItemAttribute(String) | Initialisiert eine neue Instanz der DeploymentItemAttribute-Klasse.Ein mit diesem Konstruktor erstelltes Objekt wird mit einem Pfad zu einem Bereitstellungselement oder -verzeichnis initialisiert. | |
DeploymentItemAttribute(String, String) | Initialisiert eine neue Instanz der DeploymentItemAttribute-Klasse.Ein mit diesem Konstruktor erstelltes Objekt wird mit einem Pfad zu einem Bereitstellungselement und einem Ausgabeverzeichnis initialisiert. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
OutputDirectory | Ruft einen Wert ab, der den Pfad zum Ausgabeverzeichnis darstellt. | |
Path | Ruft einen Wert ab, der den Pfad zum Bereitstellungselement darstellt. | |
TypeId | Bei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.) |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
Equals | Infrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Von Attribute geerbt.) | |
Finalize | Ermöglicht es einem Objekt, zu versuchen, Ressourcen freizugeben und führt andere Bereinigungsvorgänge aus, bevor es von Garbage Collection freigegeben wird. (Von Object geerbt.) | |
GetHashCode | Gibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
IsDefaultAttribute | Beim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.) | |
Match | Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.) | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Explizite Schnittstellenimplementierungen
Name | Beschreibung | |
---|---|---|
_Attribute.GetIDsOfNames | Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.) | |
_Attribute.GetTypeInfo | Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.) | |
_Attribute.GetTypeInfoCount | Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.) | |
_Attribute.Invoke | Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.) |
Zum Seitenanfang
Hinweise
Je nach den Testeinstellungen führt Microsoft Visual Studio 2010 Tests in dem Ordner aus, in dem Sie sie erstellt haben oder in einem separaten "Bereitstellungsordner". Weitere Informationen zu Testeinstellungen finden Sie unter Erstellen von Testeinstellungen zum Ausführen von automatisierten Tests in Visual Studio.
In diesem Abschnitt wird der Fall erläutert, in dem Microsoft Visual Studio 2010 Tests in einem anderen Ordner als dem Ordner ausführt, der die erstellten Assemblys enthält.
Wenn ein Test auf diese Art und Weise ausgeführt wird, werden die Testassembly, alle zu testenden Assemblys und die Bereitstellungselemente in einem für diesen Testlauf eindeutigen Testbereitstellungsordner abgelegt. Dieses Attribut bezeichnet Dateien sowie Verzeichnisse mit den enthaltenen Dateien, die für die Ausführung des bereitgestellten Tests verwendet werden. Das Testmodul legt Kopien der Bereitstellungselemente in einem Testbereitstellungsverzeichnis an, das auf dem angegebenen OutputDirectory oder dem Standardverzeichnis basiert.
Dieses Attribut kann für eine Testmethode oder Testklasse angegeben werden. Dieses Attribut wird jedoch nicht von abgeleiteten Klassen geerbt.
Dieses Attribut kann mehrere Instanzen haben, um mehrere Elemente anzugeben. Der Elementpfad kann relativ oder absolut sein. Relative Pfade sind relativ zum Projektpfad.
In den folgenden Beispielen wird die unterschiedliche Verwendung des DeploymentItemAttribute veranschaulicht.
[DeploymentItem("file1.xml")] Stellt das Element "file1.xml" im Projektpfad bereit. Die Datei wird im Bereitstellungsstammverzeichnis bereitgestellt.
[DeploymentItem("file2.xml", "DataFiles")] Stellt das Element "file2.xml" im Projektpfad bereit. Die Datei wird im DataFiles-Unterverzeichnis des Bereitstellungsstammverzeichnisses bereitgestellt.
[DeploymentItem("C:\\MyDataFiles\\")] Stellt alle Elemente und Verzeichnisse im Verzeichnis MyDataFiles bereit. Es wird kein Verzeichnis MyDataFiles im Bereitstellungsverzeichnis erstellt. Alle Dateien und Verzeichnisse im Verzeichnis MyDataFiles werden im Bereitstellungsstammverzeichnis bereitgestellt. Um die gesamte MyDataFiles-Verzeichnisstruktur zu kopieren, müssen Sie MyDataFiles als Ausgabeverzeichnis angeben.
[DeploymentItem("%myDir%\myFile.txt")] Stellt die Datei myFile.txt bereit, wenn diese Datei in dem Verzeichnis vorhanden ist, dem %myDir% zugeordnet ist.
Weitere Informationen zum Verwenden von Attributen finden Sie unter Erweitern von Metadaten mithilfe von Attributen.
Beispiele
Die folgende Klasse erstellt eine Datei, die von der Testmethode verwendet wird.
using System;
using System.IO;
namespace CarMaker
{
public class Car
{
private static string make = "myMake";
private static string model = "myModel";
public static void CarInfo()
{
using (StreamWriter sw = new StreamWriter("testFile1.txt"))
{
sw.WriteLine(make);
sw.WriteLine(model);
}
}
}
}
Imports System
Imports System.IO
Namespace CarMaker
Public Class Car
Private Shared make As String = "myMake"
Private Shared model As String = "myModel"
Public Shared Sub CarInfo()
Dim sw As New StreamWriter("testFile1.txt")
Try
sw.WriteLine(make)
sw.WriteLine(model)
Finally
sw.Close()
End Try
End Sub
End Class
End Namespace
Die folgende Testklasse enthält eine Testmethode, die die Car-Klasse instanziiert, die eine Datei mit dem Namen "testFile1.txt" erstellt. Diese Datei wird bereitgestellt, wie im DeploymentItemAttribute angegeben. Anschließend überprüft die Testmethode, ob sich die Datei in demselben Verzeichnis befindet wie die Testassembly.
using System;
using System.IO;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using CarMaker;
namespace DeploymentTest
{
[TestClass]
public class UnitTest1
{
[TestMethod()]
[DeploymentItem("testFile1.txt")]
public void ConstructorTest()
{
// Create the file to deploy
Car.CarInfo();
string file = "testFile1.txt";
// Check if the created file exists in the deployment directory
Assert.IsTrue(File.Exists(file), "deployment failed: " + file +
" did not get deployed");
}
}
}
Imports System
Imports System.IO
Imports Microsoft.VisualStudio.TestTools.UnitTesting
Imports MyVBProject.CarMaker
Namespace DeploymentTest
<TestClass()> _
Public Class UnitTest1
<TestMethod()> _
<DeploymentItem("testFile1.txt")> _
Sub ConstructorTest()
Car.CarInfo()
Dim file As String = "testFile1.txt"
Assert.IsTrue(IO.File.Exists(file), "deployment failed: " + file + _
" did not get deployed")
End Sub
End Class
End Namespace
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.