2011-08-10 90 views
13

假設我(100%假設)意外地將單元測試項目添加爲VS2010解決方案的項目類型「類庫」。然後,我添加了將它作爲單元測試項目運行所需的程序集,但是當我點擊「在解決方案中運行所有測試」時,MSTest不會選擇它。這裏的標準是什麼?Visual Studio/mstest如何識別測試項目?

我有一對夫婦的理論,而這一切至今都未能:在.testsettings文件

  • 東西(這裏就我所看到的任何組件的引用)
  • 東西在.sln文件(無法找到任何東西)
  • 東西在AssemblyInfo.cs中(不,它不是)
  • 由隱引用(...)UnitTestFramwork.dll(OBV沒有)

有人嗎?

回答

26

在項目文件中,有一個名稱爲ProjectTypeGuids的XML元素,它包含幾個表示測試項目的GUID。示例如下。

<Project> 
    <PropertyGroup> 
    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 
    </PropertyGroup> 
</Project> 

下面是Visual Studio 2010中知名的項目類型GUID的列表:http://onlinecoder.blogspot.com/2009/09/visual-studio-projects-project-type.html

在上面的例子中,它顯示了項目的類型爲測試的Windows(C#)的。

+1

我發現得到燒瓶圖標,我還需要添加' UnitTest Ruskin

2
  1. 在解決方案資源管理器中,右鍵單擊項目名稱並選擇卸載項目
  2. 然後再次右鍵單擊項目名稱並選擇編輯ProjectName.csproj
  3. 找到ProjectTypeGuids元素和下面的代碼。(如果你將找不到ProjectTypeGuids元素,只需將其插入)

    <Project> <PropertyGroup> <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB}; {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} </ProjectTypeGuids> </PropertyGroup> </Project>

  4. 保存更改,右鍵單擊該項目,然後選擇重新加載項目。

3

如果它幫助任何人我有相反的問題 - 我錯誤地添加了一個項目作爲單元測試。爲了將類型改回到普通的類庫,我只是刪除了其他答案中提到的ProjectTypeGuids標籤,大概是VS放回正確的。

相關問題