Visão geral das seqüências de conexão e permissões
Para executar testes de unidade de banco de dados, você deve se conectar a um servidor de banco de dados usando uma ou duas seqüências de caracteres de conexão específica. Cada seqüência de conexão representa uma conta que tenha as permissões específicas que você deve ter para executar a tarefa ou um conjunto de tarefas em um determinado script, como parte do teste. Você pode especificar essas cadeias de caracteres de A configuração de projeto caixa de diálogo ou editando manualmente o arquivo app. config para seu projeto de teste.
Sequências de conexão
No Configuração de projeto caixa de diálogo, você pode especificar as seqüências de conexão para cada uma das seguintes contas.
Observação |
---|
O contexto de execução e o contexto privilegiado diferem somente se você usar a autenticação do SQL Server. Se você usar a autenticação do Windows, as mesmas credenciais serão usadas para ambas as seqüências de conexão. |
Contexto de execução (necessário) - uma conta de usuário para execução de testar o script. Essa seqüência de conexão deve ter as mesmas credenciais que você espera que os usuários tenham. Isso é importante porque garante que as permissões apropriadas foram aplicadas ao banco de dados. Para obter mais informações, consulte Como: Configurar a execução do teste de unidade de banco de dados.
No arquivo app. config para seu projeto de teste, este é o ExecutionContext elemento.
Privilegiado contexto (opcional) - uma conta que tenha permissões para executar a ação de pré-teste, ação de pós-teste, TestInitialize, de maiores e TestCleanup scripts. Esses scripts definir o estado do banco de dados e para a ação de pós-teste, podem ser usados para validar os objetos no banco de dados. Essa seqüência de conexão também é usada para implantar as alterações do banco de dados e gerar dados.
No arquivo app. config para seu projeto de teste, este é o PrivilegedContext elemento. Se os testes de unidade de banco de dados executar o script de teste somente, não é necessário especificar um contexto privilegiado.
As seqüências de caracteres que você especificar na Configuração de projeto caixa de diálogo são armazenadas no arquivo de App. config do seu projeto de teste. Você também pode editar diretamente o arquivo e reconstruir o projeto, após o qual os novos valores são exibidos na caixa de diálogo.
Autenticação do Windows em vez de autenticação de SQL
Quando você especifica as seqüências de conexão, você deve escolher entre o uso da autenticação do Windows e autenticação de SQL. Um dos motivos para escolher a autenticação do Windows é que ele suporta o uso de testes por uma equipe melhor que a autenticação de SQL. Se você escolher a autenticação de SQL, as seqüências de conexão são criptografadas usando a API DPAPI (Data Protection), com base em suas credenciais de usuário. Isso significa que os testes neste projeto de teste serão executado somente para você, não para os membros da equipe que obtêm os testes através do sistema de controle de origem depois de fazer check-in. Para executar testes neste projeto de teste, outras pessoas da sua equipe teria que reconfigurar o projeto de teste usando suas próprias credenciais. Para fazer isso, seria editar sua cópia do arquivo app. config ou use o Configuração de projeto caixa de diálogo.
Permissões
O script de teste é executado no nível de permissão do contexto de execução, que é o mesmo nível de permissão que seria em vigor para os comandos de usuário que são executados no banco de dados quando ele estiver em uso típico. A ação de pré-teste, post-test, TestInitialize e TestCleanup scripts executados no nível de permissão do contexto privilegiado.
Por causa de conexão maior permissão usada para o script de pós-teste ação, você pode executar a validação nele. Nesse script, você também pode executar comandos de script para testar permissões. Para obter mais informações sobre permissões, consulte a seção de testes de unidade de banco de dados Permissões necessárias para os recursos de banco de dados de Visual Studio.