2012-09-21 39 views
2

是否有可能從Visual Studio 2012中的Visual Studio 2010中獲得相同的測試列表編輯器功能?VS2010中的VS2010測試列表編輯器功能(更新)

我想要做的是製作一組包含我想運行的測試的列表。在運行列表時,我希望能夠輕鬆地將測試從一個列表移動到另一個列表。在VS2010中這很容易,但是使用VS2012中的測試資源管理器,這是不可能的。我意識到Categories功能,但這不是我正在尋找的。它可能與VS2010的測試列表編輯器中的測試幾乎完全相同,但需要更多的工作。

有誰知道有效的解決方法或插件或類似的東西,以獲得VS2012相同的功能?

// UPDATE

不使用SpecFlow幾個月後,我拿起使用SpecFlow另一個項目。在VS2012中使用SpecFlow進行測試時發生了一些變化。現在可以在VS2012中獲得接近VS2010中描述的功能的功能。 這是我做的伎倆:

  • Visual Studio 2012 Update 2引入了播放列表的使用;
  • 將Test Runner工具設置爲VisualStudio2012(工具 - >選項 - > Specflow - > General - > Test Runner Tool)讓我有機會運行單個場景,只需右擊它們並選擇'運行單元測試';
  • 安裝NUnit測試適配器讓VS2012發現我的所有SpecFlow場景,並讓它們出現在測試資源管理器中,並將它們放入播放列表中。

我希望這個更新能幫助那些遇到同樣問題的人。

+0

沒有開箱或免費的。 –

+0

即將到來的VS2012更新似乎有一個單元測試分組和過濾功能。它現在可以作爲CTP下載。我不知道這是否會有助於這種情況,但值得一看。 http://blogs.msdn.com/b/bharry/archive/2012/09/12/visual-studio-update-this-fall.aspx – softveda

+0

此功能已被棄用,無法運行該編輯器測試。您可以閱讀這篇文章鏈接:http://msdn.microsoft.com/en-us/library/jj620884.aspx 鏈接:http://msdn.microsoft.com/en-US/library/dd286683%28v=vs 0.110%29.aspx –

回答

5

一種解決方法是同時使用VS2010。我發現這是獲得兩全其美的最佳方式。

我在VS2010和VS2012中都打開了我的解決方案 - 我在VS2010中完成了所有的測試創建,調試和維護。然後切換回VS2012以獲得VS2012中的其他優秀功能。

這都繞在VS2012的新測試功能的重大缺陷(恕我直言)我已經發現有問題你描述也是:中

  • 拆卸「單元測試創​​建...」選項(重要一步回來了!)
  • 很慢的性能上較大的項目推出單位測試(在我 項目之一,這是比VS2010慢100 *)
+1

感謝您的回答。由於測試功能,我讀過更多回到VS2010的人。如果你想創建/運行測試,與VS2010相比,VS2012是如此退步(或者不止一步退步)真是令人遺憾!我還沒有能夠真正測試te的表現,但像你說的100倍是一大堆! – TimothyHeyden

0

要到測試列表編輯器,點擊右鍵在這樣的解決方案lution資源管理器,添加.testsettings文件到解決方案。 .testsettings文件現在應該在名爲「解決方案項目」(直接在解決方案下)的文件夾下可見。所有這些都是爲了讓這個文件夾出現在解決方案資源管理器中(不確定如何讓它在VS2012中顯示出來)。你還應該看到一個「.vsmdi」文件出現在那裏。打開將導致測試列表編輯器窗口彈出

0

您可以通過打開來查看測試列表編輯器。vsmdi文件的建議in this other answer,但它給你一個警告:

測試列表編輯器已被棄用。您無法從此編輯器運行測試

並且窗口中缺少運行按鈕。所以你只能看到測試用例列表。 VS2012作爲測試類別的概念來滿足您的需求。更多詳情請見Defining Test Categories to Group Your Tests

2

與Visual Studio的更新2他們推出的「Test Playlist」的概念。 這使您可以輕鬆分組您的測試,並且與測試列表類似。

可以實現類似的結果是什麼,你會使用特性實現,但正如我添加了鏈接中提到:

使用播放列表是使用特點進行分組測試和運行只有一個子集的選擇,但主要的區別在於特質表達了測試的不動產(如軟件的邏輯面積得到了測試,或其他屬性,例如數據庫,以表明它需要一個測試數據庫),而播放列表主要指將異構測試分組在一起,以簡化管理,用於運行測試和管理它們。