2017-06-19 118 views
0

現在我有一個解決方案,它在Visual Studio 2017(4.6.2)中有3個單元測試項目。合併解決方案中多個測試項目的結果VSTest

我創建了TestCategories並使用基於TestCategories的命令提示符(單一測試類別/多重測試類別,在命令中使用「&」操作)執行測試。

我製作了一個TestResults的列表,並且將結果添加到每個單獨項目的TestCleanup方法的列表中。此TestResult列表是全球性的,可以在所有3個測試項目中訪問。

完成後,在Assembly Cleanup中,我將其寫入Excel文件並將其郵寄到組織中的電子郵件組。

當我這樣做時,我從3個測試項目收到3封郵件。

爲了避免這種情況,我僅在1個測試項目中添加了郵件代碼,並確保從該TestProject運行測試(即使我不需要該測試運行)。現在

,我的問題是:
假設我有3 TestProjects A,B & C,和我在大會清理郵件邏輯TestProject C.
1.如同AssemblyCleanup,我們有一個地方,我們知道所有的A或B或C測試項目都完成了測試的執行嗎?
2.假設如果我只在TestProject A中運行測試,但是我沒有郵寄邏輯,我沒有收到郵件。 (由於郵件邏輯可用於不同的項目 - C)
3.如果我將郵寄邏輯添加到所有3個項目(A,B & C),它會向我發送3封郵件。我必須手動合併。
4.如果我已經執行了來自每個程序集(A,B,C)的幾個測試。在裝配清理中我怎麼知道在裝配B或C中還有一些未決測試要執行? - 基於這個,我可以執行郵件邏輯,如果還有其他程序集要執行一些測試,我會在當前程序集中跳過它,讓它發生在B或C中。類似地,我會在所有程序中編寫相同的邏輯3個組件。通過這樣做,我將在所有3個裝配/項目中獲得所有測試的只有1份報告。

謝謝

回答

0

您可以使用/ Logger:trx選項來獲取測試結果文件。例如, vstest.console a.dll b.dll /logger:trx

相關問題