我們有一個使用Entity Code First的應用程序,並且我們添加了Devart for Oracle支持。我們有一系列通過Visual Studio測試運行器運行的集成測試,涵蓋種子數據測試。我們希望能夠在測試執行時爲SQL Server和Oracle運行這些測試。有沒有人有一個很好的角度來解決這個問題?每個連接字符串的C#集成測試運行
回答
您可以從配置文件中讀取連接字符串和其他設置信息。
爲每個數據庫/設置創建一個配置文件。
製作一個命令文件,每次配置執行一次測試一次。
那麼,如果你想要不同的環境設置,但仍然只編碼測試一次,但運行多次,怎麼樣Data Driven test?
您可以使用[DataSource]
屬性修飾您的測試。數據源本身可以是excel文件,CSV等,並且該文件可以包含連接字符串以及其他相關信息以配置環境。
在每次測試運行中,您將擁有一個表示您的環境數據的DataRow。
同樣的,如果你正在使用NUnit以及使用[ValueSource]
屬性,可以實現和一些存儲位置,文件的類返回值的靜態方法提供的數據,等等。
隨着任何這些設置,測試將實際運行多次,以便每個環境都可以失敗或單獨傳遞。
這也是一種非常好的方法來測試一塊邏輯,但具有不同的場景和預期輸出。您可以在外部數據源中獲得輸入和預期輸出,並讓測試框架在所有場景中運行,並確保它們仍能按預期工作。這可能對你想要檢查的金融算法的黑盒測試可能是有用的,例如可能已知的結果,或者在Excel中使用相同的算法,例如,在有數百個場景進行比較的情況下。
這顯然不是說你不應該爲孤立的類寫實際的單元測試,它只是另一個添加到工具箱的工具。
請注意,您只能添加一次DataSource屬性:http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools。unittesting.datasourceattribute(v = VS.80).aspx –
正確的是,這個想法是有一個數據源,有多行,每個環境一個。 –
- 1. WatiN測試和連接字符串Fiasco
- 2. Java JDBC JTDS測試連接字符串
- 3. 用gradle運行單個集成測試
- 4. 將argv的每個值連接成一個字符串
- 5. 集連接字符串
- 6. C++連接一個查詢字符串的所有值成一個字符串
- 7. 運行時字符串連接評價
- 8. sql連接字符串Windows身份驗證c#winforms(未集成)
- 9. 掃描每個測試用例的字符串輸入C
- 10. 在C#中使用字符串連接的字符串連接
- 11. 試圖連接字符串
- 12. 連接字符串調試
- 13. Docusign連接自動集成測試
- 14. 在運行時更改數據集連接字符串vs2010
- 15. 在運行時更改數據集連接字符串
- 16. 將幾個字符串連接成一個字符串R
- 17. 運行集成測試的問題EJB
- 18. 將字符串中的單詞連接成單個字符串
- 19. 將字符串連接成一個
- 20. C#/ LINQ:連接字符串
- 21. C#連接字符串
- 22. 連接字符串C#
- 23. C#Oracle連接字符串
- 24. C#ODBC連接字符串
- 25. MySQL連接字符串C#
- 26. 將幾個不同的字符連接成1個字符串
- 27. 程序測試一個SQL連接字符串?
- 28. 運行C中每個可能的字符串值?
- 29. 用於測試的僞串行連接
- 30. C#在運行時更改自定義連接字符串
運行測試兩次。每種類型一次。 – tsells
希望有更多的懶惰和自動化的東西。這套測試將不斷擴大,我們不想增加指數維護。如果您知道製作這種自動化程序的簡單程序可能會滿足我們的需求。還請注意:這些測試在門控簽入上運行。 –
我認爲你不明白的是這些應該被視爲兩個單獨的測試。您正在測試兩個單獨的平臺 - 即使它們正在經歷相同的操作。在構建級別自動執行此操作 - 僅運行套件兩次 - 每次運行一個單獨的數據庫目標。 – tsells