Codificando um teste de unidade orientado a dados

Um teste de unidade funciona como um teste orientado a dados se ele tiver os atributos que um teste de unidade orientado a dados requer.Você pode atribuir esses atributos e seus valores utilizando a janela Properties ou adicionando os atributos diretamente ao código do teste.

Para obter mais informações sobre sistema autônomo configurar um teste de unidade sistema autônomo orientado a dados editando suas propriedades, consulte Como: Configurar um teste de unidade orientados a dados.

Este tópico descreve sistema autônomo codificar um teste de unidade sistema autônomo um teste de unidade orientado a dados, usando o atributo DataSource e a TestContext classe.

Usando dados de uma fonte de dados

Quando um teste de unidade orientado a dados está sendo executado, dados são recuperados das linhas de uma fonte de dados.Os dados então ficam disponível para o teste de unidade em execução através das propriedades DataRow e do DataConnectionTestContext classe.

No exemplo a seguir, DataRow() é do tipo DataRow, e LastName é o nome de uma coluna válida na linha associada a iteração corrente do teste orientado a dados. 

TestContext.DataRow["LastName"]

Enquanto LastName refere-se a uma coluna por nome, você também pode se referir a colunas através do número de coluna.

Para cada linha na tabela, qualquer número de colunas pode ser acessado.Você pode, por exemplo, recuperar várias colunas de dados de uma só vez, usá-las em um cálculo e depois comparar o resultado com uma coluna final que contém um valor de retorno esperado.

Codificando um teste de unidade orientado a dados

Para criar um teste de unidade orientado a dados, você pode começar com um teste de unidade que você tenha criado à mão ou um teste de unidade gerado.Para obter mais informações, consulte Como: Criar um teste de unidade e Como: Gerar um teste de unidade.

Para configurar seu teste de unidade existente, adicione atributos que definem a fonte de dados que você deseja que ele use, a maneira que você deseja que esses dados sejam acessados e a tabela cujo as linhas você deseja que seu teste use como entrada.Para obter mais informações sobre como configurar esses atributos, consulte Como: Configurar um teste de unidade orientados a dados.

Por exemplo, o código a seguir é de um teste de unidade orientado a dados que utiliza dados de banco de dados Northwind.

namespace TestProject1
{
    [TestClass]
    public class TestClass
    {
        private TestContext m_testContext;
        public TestContext TestContext
        {
            get { return m_testContext; }
            set { m_testContext = value; }
        }
        [TestMethod]
        [DeploymentItem("FPNWIND.MDB")]
        [DataSource("System.Data.OleDb", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"FPNWIND.MDB\"", "Employees", DataAccessMethod.Sequential)]
        public void TestMethod()
        {
            Console.WriteLine( "EmployeeID: {0}, LastName: {1}", TestContext.DataRow["EmployeeID"],  TestContext.DataRow["LastName"] );
        }
    }
}

O código dentro do método de teste nesse exemplo usa valores das colunas LastName e EmployeeID na tabela " Employees " da fonte de dados.O método de teste acessa esses valores através de uma propriedade TestContext, que é definida na classe de teste que contém o método.

Consulte também

Tarefas

Como: Criar um teste de unidade

Como: Configurar um teste de unidade orientados a dados

Conceitos

Estrutura de testes de unidade

Referência

DataSourceAttribute

TryUrlRedirection

Outros recursos

Como: Gerar um teste de unidade

Visão geral dos testes de unidade baseados em dados