Solucionando problemas de testes de unidade baseados em dados
Você pode encontrar a conexão, autenticação, implantação ou outros problemas quando você executa testes de unidade orientado a dados.Use as informações nas seções a seguir para resolver esses problemas.
Certifique-se de que a fonte de dados pode ser acessada pela conta de usuário usada para executar testes.Para fazer isso, você precisa saber qual conta de usuário está sendo usada para executar testes.Por exemplo, quando você executa testes remotamente, os testes executados da conta de usuário do agente.
Testes ASP.NET executados em um servidor Web do IIS são executados a partir da conta 'aspnet'.Portanto, verifique se que a fonte de dados pode ser acessada por usuário ASP.NET.
Além disso, se você usar o 'Excel ODBC DSN', você deve criar 'Dsn de sistema'.DSN de sistema está disponível para todos os usuários.Para criar nomes de fonte de dados, use o administrador de fonte de dados ODBC.Para fazer isso, clicar Iniciar, abra o painel de controle, abra o Ferramentas administrativase, em seguida, em em aberto Fontes de dados.
Se você usar um dados arquivo de origem sistema autônomo planilha do Microsoft Excel ou um arquivo .csv, certifique-se de que ele está disponível quando o teste é executado.Uma maneira de fazer isso é adicionar o arquivo de fonte de dados sistema autônomo um item de implantação usando a caixa de diálogo de configuração de execução de teste ou sistema autônomo um item de implantação por teste.Além disso, especificar um caminho relativo para o arquivo.Para obter mais informações sobre configurações de tempo de execução de teste, consulte Configurando a Execução de Teste.
Use a autenticação do Windows sempre que possível.
Embora o Conexão de dadoscaixa de diálogo funciona bem para conectando ao Microsoft SQL servidor e Oracle, não é conveniente quando você deve estabelecer uma conexão com fontes de dados de arquivo.Para essas fontes, você pode especificar uma seqüência de caracteres de conexão e, em seguida, selecionar um nome da tabela de dados de uma caixa de listagem drop-down na janela Propriedades.
A tabela a seguir contém exemplos de nomes de provedor e seqüências de conexão para a maioria dos provedores de dados.
Data Source |
Nome do provedor |
cadeia de conexão |
MS SQL servidor (.NET provedor) |
sistema.dados.SqlClient |
A fonte de dados = Nome_servidor_sql; InitialCatalog = MyDatabaseName; segurança integrada = True; conectar Timeout = 30; instância de usuário = True |
MS SQL Express servidor (NET) |
sistema.dados.SqlClient |
A fonte de dados =.Segurança \SQLEXPRESS;AttachDbFilename=C:\ \teste.mdf;Integrated = True; conectar Timeout = 30; instância de usuário = True |
MS SQL servidor (OLEDB, MDAC provedor) |
sistema.dados.OleDb |
Provider=SQLOLEDB;fonte de dados= Nome_servidor_sql; Integrated segurança = SSPI; Initial catálogo = MydadosbaseName |
MS SQL servidor (OLEDB, clientes nativo do provedor) |
sistema.dados.OleDb |
Provider=SQLNCLI;fonte de dados= MySqlServerComputerName; Integrated segurança = SSPI; Initial catálogo = MydadosbaseName |
MS SQL (ODBC) |
sistema.dados.ODBC |
Driver = {SQL Server}; servidor = Nome_servidor_sql; banco de dados = DatabaseName; Trusted_Connection = yes Driver = {SQL Server}; servidor = Nome_servidor_sql; banco de dados = DatabaseName; UID = UserName; PWD = <senha> |
Oracle (provedor do .NET) |
sistema.dados.OracleClient |
A fonte de dados = OracleServerName; Persist segurança Info = True; usuário ID = scott; senha = <password>; Unicode = True |
Oracle (Oracle provedor OLEDB) |
sistema.dados.OleDb |
provedor=OraOLEDB.Oracle;fonte de dados=OracleServerName;Persist segurança Info = True; OSAuthent = 1 provedor=OraOLEDB.Oracle;fonte de dados=OracleServerName;Persist segurança Info = True; usuário ID = scott; senha = <password> |
Oracle (provedor Microsoft OLEDB) |
sistema.dados.OleDb |
Provider=MSDAORA;fonte de dados= OracleServerName; Persist segurança Info = True; usuário ID = scott; senha = <password> |
Oracle (ODBC) |
sistema.dados.ODBC |
Driver = {Microsoft ODBC para Oracle}; servidor = OracleServerName; UID = scott; PWD = <senha> |
Excel (OLEDB) |
sistema.dados.OleDb |
provedor=Microsoft.Jet.OLEDB.4.0;fonte de dados=C:\ teste.xls;Persist segurança Info = falso; Extended Properties = "Excel 8.0" |
Excel (ODBC, MS Excel Driver) |
sistema.dados.ODBC |
Driver = {driver do Microsoft Excel (*.xls)};DriverId=790;dbq=C:\\teste.xls;DefaultDir=C:\ Dica Para a tabela de Sheet1 use Sheet1 $ sistema autônomo nome da tabela de dados. |
Excel (ODBC, DSN) |
sistema.dados.ODBC |
DSN = Files;dbq=C:\teste.xls;defaultdir=C:\;driverid=790;maxbuffersize=2048;pagetimeout=5 do Excel Dica Quando você executa testes em ASP.NET, considere usar o DSN do sistema em vez da DSN de usuário. |
CSV / arquivo de texto (OLEDB) |
sistema.dados.OleDb |
provedor=Microsoft.Jet.OLEDB.4.0;dados fonte = D: \; Extended Properties = "texto; HDR = Yes; FMT = Delimited ” Dica Para o arquivo test.csv, use #csv teste sistema autônomo o nome da tabela. Observação: HDR = Yes significa que a primeira linha contém coluna nomes, não os dados real. |
Arquivo CSV/texto (ODBC) |
sistema.dados.obdc |
Driver = {Microsoft Texto Driver (*.txt; *.csv)}; DBQ = c: \; extensões = asc, csv, guia, txt |
ODBC através do DSN |
sistema.dados.obdc |
DSN = MyDsn; UID = UserName; PWD = <senha> FILEDSN=C:\MyDsn.DSN;Uid=UserName;pwd= <senha> |
Você pode usar o arquivo de configuração.XML para especificar uma fonte de dados para seu teste.Isso permite que você altere sistema autônomo atributos de fonte de dados, sistema autônomo o servidor, nome da tabela e assim por diante, sem recompilar o assembly de teste.Quando você executa o teste a partir da linha de comando, certifique-se de que o App. arquivo de configuração está no mesmo diretório do assembly de teste.
Exemplo:
[TestMethod][DataSource("MyDataSource")]
[DeploymentItem("MyDataSource.csv")]public void MyTest() {}
Sumário do aplicativo. arquivo de configuração:
<configSections><section name="microsoft.visualstudio.qualitytools" type="Microsoft.VisualStudio.QualityTools.UnitTesting.Framework.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/></configSections><microsoft.visualstudio.qualitytools><dataSources><add name="MyDataSource" connectionString="MyConnectionString" dataTableName="ChildSearchCriteria" dataAccessMethod="Sequential" /></dataSources></microsoft.visualstudio.qualitytools>
Observação: |
---|
O Run unit tests in application domain propriedade determina se cada assembly de teste de unidade será executado em um domínio do aplicativo separado. A configuração padrão de esta propriedade for True.Se os testes de unidade não precisarem de um arquivo de domínio ou app.config de aplicativos separados para funcionar corretamente, os testes de unidade podem executar mais rapidamente se você conjunto o valor dessa propriedade como False. |
Quando executa o teste orientado a dados, teste de unidade adaptador conecta-se a sua tabela de dados e cria uma lista de linhas de dados.Em seguida, para cada linha executa os métodos TestInitialize TestMethod e TestCleanup.Se você alterar as linhas de dados TestInitialize, o adaptador de teste de unidade não verá essa alteração.Portanto, se você deseja alterar sua tabela de dados para um teste orientados a dados, faça isso no método ClassInitialize ou AssemblyInitialize.
Esse resultado significa que sua tabela de dados não contém nenhuma linha.
Se o problema não estiver listado aqui, você pode tentar procurar respostas em ou postar dúvidas para o Fóruns de suporte e os fóruns individuais para Visual Studio Team Edition for Developers e Visual Studio Team System Test Edition.