Condividi tramite


Cenni preliminari sulle stringhe di connessione e sulle autorizzazioni

Per eseguire unit test del database, è necessario connettersi a un server database utilizzando una o due stringhe di connessione specifiche. Ogni stringa di connessione rappresenta un account che dispone delle autorizzazioni specifiche necessarie per eseguire l'attività o l'insieme di attività in un determinato script come parte del test. È possibile specificare queste stringhe nella finestra di dialogo Configurazione progetto oppure modificando manualmente il file app.config del progetto di test.

Stringhe di connessione

Nella finestra di dialogo Configurazione progetto è possibile specificare stringhe di connessione per ognuno degli account seguenti.

Nota

Il contesto di esecuzione e il contesto autorizzato sono diversi solo se si utilizza l'autenticazione di SQL Server. Se si utilizza l'autenticazione di Windows, verranno utilizzate le stesse credenziali per entrambe le stringhe di connessione.

  • Contesto di esecuzione (obbligatorio) - account utente per l'esecuzione dello script di test. Questa stringa di connessione deve avere le stesse credenziali che si prevede abbiano gli utenti. Tale requisito è importante perché garantisce che al database siano state applicate le autorizzazioni appropriate. Per ulteriori informazioni, vedere Procedura: configurare l'esecuzione di unit test del database.

    Nel file app.config del progetto di test, questa stringa di connessione corrisponde all'elemento ExecutionContext.

  • Contesto autorizzato (facoltativo) - account che dispone di autorizzazioni più elevate per l'esecuzione degli script dell'azione di pre-test e dell'azione di post-test, nonché degli script TestInitialize e TestCleanup. Questi script impostano lo stato del database e per l'azione di post-test possono essere utilizzati per convalidare gli oggetti nel database. Questa stringa di connessione viene utilizzata anche per distribuire le modifiche del database e generare dati.

    Nel file app.config del progetto di test, questa stringa di connessione corrisponde all'elemento PrivilegedContext . Se gli unit test del database eseguono solo lo script di test, non è necessario specificare un contesto autorizzato.

Le stringhe specificate nella finestra di dialogo Configurazione progetto vengono memorizzate nel file app.config del progetto di test. È inoltre possibile modificare direttamente questo file e ricompilare il progetto. Nella finestra di dialogo verranno quindi visualizzati i nuovi valori.

Autenticazione di Windows o autenticazione di SQL

Quando si specificano le stringhe di connessione, è necessario scegliere se utilizzare l'autenticazione di Windows o l'autenticazione di SQL. Uno dei motivi per cui scegliere l'autenticazione di Windows è che supporta l'utilizzo dei test da parte di un team in modo più efficace rispetto all'autenticazione di SQL. Se si sceglie l'autenticazione di SQL, le stringhe di connessione verranno crittografate mediante la DPAPI (Data Protection API), in base alle proprie credenziali utente. Ciò significa che i test in questo progetto di test non saranno in esecuzione per i membri del team che ottengono i test tramite il sistema di controllo del codice sorgente dopo averli archiviati. Per eseguire test in questo progetto di test, gli altri membri del team devono riconfigurare il progetto di test utilizzando le proprie credenziali. A tale scopo, dovranno modificare la loro copia del file app.config oppure utilizzare la finestra di dialogo Configurazione progetto.

Autorizzazioni

Lo script di test viene eseguito al livello di autorizzazione del contesto di esecuzione, che equivale al livello di autorizzazione che sarebbe attivato per i comandi utente eseguiti sul database durante il tipico utilizzo. Gli script delle azioni di pre-test e di post-test e gli script TestInitialize e TestCleanup vengono eseguiti al livello di autorizzazione del contesto autorizzato.

A causa della connessione con autorizzazioni superiori utilizzata per lo script dell'azione di post-test, è possibile eseguirvi la convalida. In questo script è inoltre possibile eseguire i comandi di script per il test delle autorizzazioni. Per ulteriori informazioni sulle autorizzazioni, vedere la sezione relativa agli unit test del database nell'argomento Autorizzazioni necessarie per le funzionalità di database di Visual Studio.

Vedere anche

Concetti

Script negli unit test del database

File di unit test del database