Freigeben über


Problembehandlung bei Datenbankkomponententests

Die in diesem Thema beschriebenen Probleme können beim Ausführen von Komponententests für eine Datenbank auftreten:

  • Unzureichende Berechtigungen beim Ausführen von Komponententests oder Generieren von Testdaten

  • Komponententests und App.Config-Änderungen werden beim Ausführen von Komponententests ignoriert

  • Datenbankbereitstellung für unerwartetes Ziel beim Ausführen von Komponententests

  • Timeouts beim Ausführen von Datenbankkomponententests

Unzureichende Berechtigungen beim Ausführen von Komponententests oder Generieren von Testdaten

Sie können einen Komponententest zum automatischen Bereitstellen der Datenbank und Generieren von Daten konfigurieren. Wenn Sie nicht über ausreichende Berechtigungen zum Generieren von Daten in die Zieldatenbank verfügen, erhalten Sie möglicherweise eine Fehlermeldung, die nur angibt, dass Sie nicht über die Berechtigung zum Herstellen der Verbindung mit der Datenbank verfügen.

Tipp

Um dieses Problem zu umgehen, führen Sie den Datengenerierungsplan manuell aus. Wenn Sie nicht über ausreichende Berechtigungen zum Generieren der Daten verfügen, erhalten Sie mit dieser Vorgehensweise eine ausführlichere Fehlermeldung, die Ihnen hilft, das Problem zu beheben.

Komponententests und App.Config-Änderungen werden beim Ausführen von Komponententests ignoriert

Wenn Sie die Datei App.Config im Testprojekt ändern, müssen Sie das Testprojekt neu erstellen, bevor die Änderungen übernommen werden. Zu diesen Änderungen zählen die im Dialogfeld Projektkonfiguration an App.Config vorgenommenen Änderungen. Wenn Sie das Testprojekt nicht neu erstellen, werden die Änderungen beim Ausführen der Komponententests nicht angewendet.

Datenbankbereitstellung für unerwartetes Ziel beim Ausführen von Komponententests

Wenn Sie beim Ausführen von Komponententests eine Datenbank bereitstellen, wird die Datenbank mit den Verbindungszeichenfolgeninformationen erstellt, die in der Komponententestkonfiguration angegeben sind. Hierfür werden nicht die in den Buildeigenschaften des Datenbankprojekts angegebenen Verbindungsinformationen verwendet. Daher können Sie für verschiedene Instanzen derselben Datenbank unterschiedliche Komponententests ausführen.

Timeouts beim Ausführen von Datenbankkomponententests

Wenn die Datenbankkomponententests wegen eines Timeouts fehlschlagen, können Sie den Timeoutzeitraum erhöhen, indem Sie die Datei app.config im Datenbankprojekt aktualisieren. Das Timeout für die Verbindungszeichenfolge gibt an, wie lange gewartet wird, wenn der Komponententest eine Verbindung zum Server herstellt. Das Befehlstimeout gibt an, wie lange gewartet wird, wenn der Komponententest das Transact-SQL-Skript ausführt.

Tipp

Um dieses Problem zu umgehen, geben Sie einen größeren Wert für das CommandTimeout-Attribut für das entsprechende Context-Element in der Datei app.config im Textprojekt an. Um beispielsweise ein Befehlstimeout von 120 Sekunden für das PrivilegedContext-Element anzugeben, aktualisieren Sie app.config wie folgt:

<DatabaseUnitTesting>
    <DatabaseDeployment DatabaseProjectFileName="test.dbproj" Configuration="Debug" />
    <DataGeneration DataGenerationFileName="test.dgen" ClearDatabase="true" />
    <ExecutionContext Provider="System.Data.SqlClient" ConnectionString="another connection string" />
    <PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="test" CommandTimeout="120" />
</DatabaseUnitTesting>

Siehe auch

Aufgaben

Gewusst wie: Erstellen von Datenbankkomponententests für Funktionen, Trigger und gespeicherte Prozeduren

Gewusst wie: Konfigurieren der Ausführung von Datenbankkomponententests