DeploymentItemAttribute, classe
Permet de spécifier des éléments de déploiement tels que des fichiers ou des répertoires pour un déploiement de test spécifique. Cette classe ne peut pas être héritée.
Hiérarchie d'héritage
System.Object
System.Attribute
Microsoft.VisualStudio.TestTools.UnitTesting.DeploymentItemAttribute
Espace de noms : Microsoft.VisualStudio.TestTools.UnitTesting
Assembly : Microsoft.VisualStudio.QualityTools.UnitTestFramework (dans Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)
Syntaxe
'Déclaration
<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
Le type DeploymentItemAttribute expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
DeploymentItemAttribute(String) | Initialise une nouvelle instance de la classe DeploymentItemAttribute.Un objet créé avec ce constructeur sera initialisé avec un chemin d'accès à un élément ou répertoire de déploiement. | |
DeploymentItemAttribute(String, String) | Initialise une nouvelle instance de la classe DeploymentItemAttribute.Un objet créé avec ce constructeur sera initialisé avec un chemin d'accès à un élément de déploiement et un répertoire de sortie. |
Début
Propriétés
Nom | Description | |
---|---|---|
OutputDirectory | Obtient une valeur qui représente le chemin d'accès au répertoire de sortie. | |
Path | Obtient une valeur qui représente le chemin d'accès à l'élément de déploiement. | |
TypeId | Lors de son implémentation dans une classe dérivée, obtient un identificateur unique pour Attribute. (Hérité de Attribute.) |
Début
Méthodes
Nom | Description | |
---|---|---|
Equals | Infrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.) | |
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) | |
GetHashCode | Retourne le code de hachage pour cette instance. (Hérité de Attribute.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
IsDefaultAttribute | En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute.) | |
Match | En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.) | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
Début
Implémentations d'interface explicite
Nom | Description | |
---|---|---|
_Attribute.GetIDsOfNames | Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.) | |
_Attribute.GetTypeInfo | Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute.) | |
_Attribute.GetTypeInfoCount | Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.) | |
_Attribute.Invoke | Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute.) |
Début
Notes
Selon vos paramètres de test, Microsoft Visual Studio 2010 exécute des tests dans le dossier dans lequel vous les avez créés ou dans un dossier de « déploiement » séparé. Pour plus d'informations sur les paramètres de test, consultez Créer des paramètres de test pour exécuter des tests automatisés à partir de Visual Studio.
Cette section décrit le cas dans lequel Microsoft Visual Studio 2010 exécute des tests dans un autre dossier que celui qui contient les assemblys générés.
Lorsqu'un test est exécuté de cette manière, le test et les assemblys du code sous le test, ainsi que les éléments du déploiement, sont placés dans un dossier de déploiement du test spécifique à cette série de tests. Cet attribut identifie les fichiers et les répertoires qui contiennent les fichiers qui sont utilisés par le test déployé pour s'exécuter. Le moteur de test effectue une copie des éléments de déploiement et les place dans un répertoire de déploiement de test basé sur le OutputDirectory spécifié ou dans le répertoire par défaut.
Cet attribut peut être spécifié sur une méthode ou une classe de test. Toutefois, il n'est pas hérité par les classes dérivées.
Il peut y avoir plusieurs instances de cet attribut pour spécifier plusieurs éléments. Le chemin d'accès de l'élément peut être absolu ou relatif. Les chemins d'accès relatifs sont liés au chemin d'accès au projet.
Les exemples suivants illustrent les différentes utilisations de DeploymentItemAttribute.
[DeploymentItem("file1.xml")] Déploie un élément nommé file1.xml situé dans le chemin d'accès au projet. Le fichier est déployé dans le répertoire racine de déploiement.
[DeploymentItem("file2.xml", "DataFiles")] Déploie un élément nommé file2.xml situé dans le chemin d'accès au projet. Le fichier est déployé dans le sous-répertoire DataFiles du répertoire racine de déploiement.
[DeploymentItem("C:\\MyDataFiles\\")] Déploie tous les éléments et répertoires trouvés dans le répertoire MyDataFiles. Cela ne crée pas de répertoire MyDataFiles sous le répertoire de déploiement. Tous les fichiers et répertoires dans MyDataFiles seront déployés dans le répertoire racine de déploiement. Pour copier la totalité de la structure du répertoire MyDataFiles, vous devez spécifier MyDataFiles comme répertoire de sortie.
[DeploymentItem("%myDir%\myFile.txt")] Déploie le fichier myFile.txt si ce fichier existe dans le répertoire dans lequel %myDir% se résout.
Pour plus d'informations sur l'utilisation d'attributs, consultez Extension des métadonnées à l'aide des attributs.
Exemples
La classe suivante crée un fichier qui sera utilisé par la méthode de test.
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
La classe de test suivante contient une méthode de test qui instanciera la classe Car qui créera un fichier nommé « testFile1.txt ». Ce fichier sera déployé tel qu'identifié dans le DeploymentItemAttribute. Puis, la méthode de test testera si le fichier existe dans le même répertoire que l'assembly de test.
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
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Microsoft.VisualStudio.TestTools.UnitTesting, espace de noms