Compartir a través de


Descripción general de las cadenas de conexión y los permisos

Actualización: noviembre 2007

Para ejecutar pruebas unitarias de base de datos, debe conectarse a un servidor de base de datos utilizando una o dos cadenas de conexión específicas. Cada cadena de conexión representa una cuenta que tiene los permisos específicos que necesita para realizar la tarea (o el conjunto de tareas) de un script determinado como parte de la prueba. Puede especificar estas cadenas en el cuadro de diálogo Configuración del proyecto o editar manualmente el archivo app.config para el proyecto de prueba.

Cadenas de conexión

En el cuadro de diálogo Configuración del proyecto puede especificar las cadenas de conexión para cada una de las cuentas siguientes.

Nota:

El contexto de ejecución y el contexto privilegiado sólo difieren si se utiliza autenticación de SQL Server. Si usa autenticación de Windows, se usarán las mismas credenciales para ambas cadenas de conexión.

  • Contexto de ejecución (requerido): una cuenta de usuario para ejecutar el script de prueba. Esta cadena de conexión debe tener las mismas credenciales que espera que tengan los usuarios. Esto es importante, ya que garantiza que se han aplicado los permisos adecuados a la base de datos. Para obtener más información, vea Cómo: Configurar la ejecución de las pruebas unitarias de base de datos.

    En el archivo app.config del proyecto de prueba, es el elemento ExecutionContext.

  • Contexto privilegiado (opcional): una cuenta que tiene permisos de nivel superior para ejecutar las acciones previas y posteriores a la prueba, y los scripts TestInitialize y TestCleanup. Estos scripts establecen el estado de la base de datos y se pueden usar en las acciones posteriores a la prueba para validar objetos de la base de datos. Esta cadena de conexión también se usa para implementar cambios de base de datos y generar datos.

    En el archivo app.config del proyecto de prueba, es el elemento PrivilegedContext. Si las pruebas unitarias de base de datos sólo ejecutan el script de prueba, no es necesario especificar un contexto privilegiado.

Las cadenas que especifica en el cuadro de diálogo Configuración del proyecto se almacenan en el archivo app.config del proyecto de prueba. También puede editar directamente el archivo y volver a generar el proyecto; se mostrarán los nuevos valores en el cuadro de diálogo.

Comparación de la autenticación de Windows y la autenticación de SQL

Al especificar cadenas de conexión, debe elegir entre usar autenticación de Windows o usar autenticación de SQL. Una razón para elegir la autenticación de Windows es que es mejor que la autenticación de SQL para usar pruebas en equipo. Si elige autenticación de SQL, se cifran las cadenas de conexión mediante la API de protección de datos (DPAPI) usando sus credenciales del usuario. Esto significa que las pruebas de este proyecto de prueba sólo podrá ejecutarlas usted. Cuando las proteja en el sistema de control de código, los miembros del equipo que obtengan las pruebas no podrán ejecutarlas. Para ejecutar las pruebas de este proyecto de prueba, los demás miembros del equipo tendrán que volver a configurar el proyecto de prueba utilizando sus propias credenciales. Para ello, deben editar su copia del archivo app.config o utilizar el cuadro de diálogo Configuración del proyecto.

Permisos

El script de prueba se ejecuta en el nivel de permiso de contexto de ejecución, que es el mismo nivel de permiso que estaría vigente para comandos de usuario que se ejecutan en el uso normal de la base de datos. Los scripts de acciones previas y posteriores a la prueba, TestInitialize y TestCleanup se ejecutan en el nivel de permiso del contexto privilegiado.

Gracias a la conexión de permiso de nivel superior que se usa para el script de acciones posteriores a la prueba, puede realizar la validación con dicho script. En este script también puede ejecutar comandos de script para probar permisos. Para obtener más información sobre los permisos, vea la sección sobre pruebas unitarias de base de datos de Permisos necesarios en Database Edition.

Vea también

Conceptos

Scripts en pruebas unitarias de base de datos

Archivos de prueba unitaria de base de datos

Introducción a la terminología de Database Edition