2015-01-09 60 views
2

我在Visual Studio 2013中創建了我的第一個SQL Server單元測試。我有一個在SQL Server Management Studio窗口中成功運行的腳本。我有一個腳本來重置數據庫狀態,它也可以成功運行。 (我把它設置爲我的PreTest腳本。)我的單元測試大約需要2分鐘才能運行。 (它在後臺生成大量數據。)但SQL Server單元測試似乎配置爲在30秒後超時。我一直在試圖找出如何改變超時設置,但我似乎無法找到它。 (請注意,我並不是指連接超時,而是查詢執行超時。)我想以3分鐘的超時設置運行此測試。VS2013 - SQL Server單元測試 - 查詢超時

謝謝,提前。

回答

3

數字,我花了一個小時搜索之前發佈的問題,然後我找到答案10分鐘後。下面是我測試的代碼,其中包含commandtimeout的代碼行:

[TestMethod()] 
    public void CreateScenario_FromProject_Q123314_FromVersion_AA() 
    { 
     SqlDatabaseTestActions testActions = this.SqlTest1Data; 
     // Execute the pre-test script 
     // 
     System.Diagnostics.Trace.WriteLineIf((testActions.PretestAction != null), "Executing pre-test script..."); 
     SqlExecutionResult[] pretestResults = TestService.Execute(this.PrivilegedContext, this.PrivilegedContext, testActions.PretestAction); 
     // Execute the test script 
     // 
     System.Diagnostics.Trace.WriteLineIf((testActions.TestAction != null), "Executing test script..."); 
     this.ExecutionContext.CommandTimeout = 180; // HERE IS THE COMMANDTIMEOUT 
     SqlExecutionResult[] testResults = TestService.Execute(this.ExecutionContext, this.PrivilegedContext, testActions.TestAction); 
     // Execute the post-test script 
     // 
     System.Diagnostics.Trace.WriteLineIf((testActions.PosttestAction != null), "Executing post-test script..."); 
     SqlExecutionResult[] posttestResults = TestService.Execute(this.PrivilegedContext, this.PrivilegedContext, testActions.PosttestAction); 
    } 
+0

將此標記爲您的答案,可能有助於將來某個人的出行。 – Andrew

+0

我會的。但是我必須等待2天的限制纔可以。 – DeadZone