Classe DeploymentItemAttribute
Usado para especificar os itens de implantação, como, por exemplo, arquivos ou pastas para implantação de por teste. Esta classe não pode ser herdada.
Hierarquia de herança
System.Object
System.Attribute
Microsoft.VisualStudio.TestTools.UnitTesting.DeploymentItemAttribute
Namespace: Microsoft.VisualStudio.TestTools.UnitTesting
Assembly: Microsoft.VisualStudio.QualityTools.UnitTestFramework (em Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)
Sintaxe
'Declaração
<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
O tipo DeploymentItemAttribute expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
DeploymentItemAttribute(String) | Inicializa uma nova instância da classe DeploymentItemAttribute.Um objeto que é criado com este construtor será inicializado com um caminho para um item de implantação ou diretório. | |
DeploymentItemAttribute(String, String) | Inicializa uma nova instância da classe DeploymentItemAttribute.Um objeto que é criado com este construtor será inicializado com um caminho para um item de implantação e o diretório de saída. |
Início
Propriedades
Nome | Descrição | |
---|---|---|
OutputDirectory | Obtém um valor que representa o caminho para o diretório de saída. | |
Path | Obtém um valor que representa o caminho para o item de implantação. | |
TypeId | Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute. (Herdado de Attribute.) |
Início
Métodos
Nome | Descrição | |
---|---|---|
Equals | Infraestrutura. Returns a value that indicates whether this instance is equal to a specified object. (Herdado de Attribute.) | |
Finalize | Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.) | |
GetHashCode | Retorna o código hash para essa instância. (Herdado de Attribute.) | |
GetType | Obtém o Type da instância atual. (Herdado de Object.) | |
IsDefaultAttribute | Quando substituÃdo em uma classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute.) | |
Match | Quando substituÃdo em uma classe derivada, retorna um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute.) | |
MemberwiseClone | Cria uma cópia superficial do atual Object. (Herdado de Object.) | |
ToString | Retorna um string que representa o objeto atual. (Herdado de Object.) |
Início
Implementações explícitas da interface
Nome | Descrição | |
---|---|---|
_Attribute.GetIDsOfNames | Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute.) | |
_Attribute.GetTypeInfo | Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute.) | |
_Attribute.GetTypeInfoCount | Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute.) | |
_Attribute.Invoke | Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute.) |
Início
Comentários
Dependendo das suas configurações de teste, Microsoft Visual Studio 2010 executa testes tanto na pasta em que você os ter criado ou em separado "implantação" pasta. Para obter mais informações sobre configurações de teste, consulte Criar um teste automatizado de configurações para executar testes a partir de Visual Studio.
Esta seção discute o caso em que Microsoft Visual Studio 2010 executa testes em uma pasta diferente da pasta que contém os assemblies construído.
Quando um teste é executado em dessa maneira, o teste e assemblies de código under teste-, e os itens de implantação são colocados em uma pasta de implantação de teste exclusivos para essa execução de teste. Este atributo identifica arquivos e diretórios que contêm arquivos que são usados pelo teste implantado para executar. Faz uma cópia de itens de implantação e as coloca no diretório de implantação de teste com base no mecanismo de teste do OutputDirectory especificado ou o diretório padrão.
Esse atributo pode ser especificado em um método de teste ou em uma classe de teste. No entanto, esse atributo não é herdado pelas classes derivadas.
Pode haver várias instâncias desse atributo para especificar mais de um item. O caminho do item pode ser absoluto ou relativo. Caminhos relativos são relativos ao caminho do projeto.
Os exemplos a seguir demonstram o uso de diferente da DeploymentItemAttribute:
[DeploymentItem("file1.xml")]Implanta um item chamado file1.xml que localizado no caminho do projeto. O arquivo é implantado no diretório raiz de implantação.
[DeploymentItem("file2.xml", "DataFiles")]Implanta um item chamado file2.xml que localizado no caminho do projeto. O arquivo é implantado no subdiretório de arquivos de dados do diretório raiz de implantação.
[DeploymentItem("C:\\MyDataFiles\\")]Implanta todos os itens e pastas encontradas dentro do diretório MyDataFiles. Isso não criará o diretório MyDataFiles sob o diretório de implantação. Todos os arquivos e pastas dentro de MyDataFiles serão implantadas no diretório raiz de implantação. Para copiar toda a estrutura do diretório MyDataFiles, você deve especificar o MyDataFiles como o diretório de saída.
[DeploymentItem("%myDir%\myFile.txt")]Se esse arquivo existe no diretório para o qual resolve de % % myDir, implanta o myfile. txt do arquivo.
Para obter mais informações sobre como usar os atributos, consulte Estendendo metadados usando atributos.
Exemplos
A classe a seguir cria um arquivo que será usado pelo método de teste.
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
A classe de teste a seguir contém um método de teste será instanciar a classe de carro que irá criar um arquivo chamado "testFile1.txt". Este arquivo será implantado conforme identificado na DeploymentItemAttribute. Em seguida, o método de teste testará se o arquivo existir no mesmo diretório do assembly de teste.
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
Acesso thread-safe
Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.