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: Konfigurieren der Ausführung von Datenbankkomponententests