2012-08-29 61 views
6

在現有的解決方案中,我添加了一個新的測試項目。在我的Test Project .cs文件中,我有一個用[TestClass]屬性裝飾的類和一個用[TestMethod]屬性裝飾的方法。我已經驗證了在配置管理器中爲生成測試項目選中了複選框(因爲我的谷歌搜索已經顯示這個問題是其他人遇到的問題)。我已經將測試項目設置爲解決方案的啓動項目。當我嘗試開始測試時,我得到「無法啓動測試項目,因爲該項目不包含任何測試」。我對單元測試非常陌生。我錯過了什麼?Visual Studio 2010無法識別單元測試

[TestClass] 
public class UnitTest1 
{ 
    [TestMethod] 
    public void TestMethod1() 
    { 
     Whole bunch of stuff 
     Assert.Inconclusive("Done"); 
    } 
} 

更新:所以我打開了一個VS的新實例,去File => New => Project => Test Project。沒有觸摸或編輯任何東西。直奔CS文件,這裏是它的全部內容:

using Microsoft.VisualStudio.TestTools.UnitTesting; 

namespace TestProject2 
{ 
public class Inspection 
{ 
    public bool SubmitInsp() 
    { 
     return true; 
    } 
} 

[TestClass] 
public class UnitTest1 
{ 
    [TestMethod] 
    public void TestMethod1() 
    { 
     Inspection insp = new Inspection(); 
     bool result = insp.SubmitInsp(); 

     Assert.IsTrue(result); 
    } 
} 
} 

約不含任何測試,當我嘗試啓動該項目同樣的錯誤。在構建輸出「無法加載文件或程序集」〜\ my documents \ visual studio 2010 \ Projects \ TestProject2 \ bin \ Debug \ TestProject2.dll或其依賴項之一中也發現了這種情況。 HRESULT:0x80131515)「

我不知道單元測試比這更簡單。有沒有搞錯???

+0

你還可以通過選擇並運行它來運行單元測試嗎? E.g.如果右鍵單擊實際的測試方法(在.cs文件中),並選擇「運行測試」,那麼它是否工作? –

+0

你可以發佈你的測試課嗎?我之前遇到過這個問題,我相信這是一個語法問題。 – timmy

+0

@CiaranG當我這樣做時,我沒有收到任何錯誤。但測試實際上並沒有做它應該做的事情,所以我試圖在其中設置一個斷點來找出原因。當我嘗試調試時,所有內容都會生成,但是斷點上有一個感嘆號,表示它永遠不會被擊中,因爲「沒有爲此文檔加載符號」 – jmease

回答

1

測試項目保存到網絡文件夾或本地計算機上的任何位置都有此問題。創建另一個測試項目並將其保存到我的閃存驅動器,工作得很好。我不知道是因爲我的機器是64位還是因爲它是虛擬機還是什麼,但我想我只需要測試外部存儲設備上的所有內容。

5

我能得到這個通過修改這裏找到devenv.exe的配置文件的工作:

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config

添加以下行<runtime>部分,然後重新啓動Visual Studio:

<loadFromRemoteSources enabled = "true" /> 

(這裏是link,幫助我)

+0

我在Windows Server 2008 R2上的VMware VM中擁有我的開發環境(因此它是64位)。我的代碼位於網絡驅動器上(當然,它位於映射到驅動器號的共享文件夾中)。這個提示解決了我的問題! – Colin

+0

由於我的測試項目文件位於網絡文件夾中,因此我遇到了同樣的問題。這解決了我的問題。 – Otiel

5

我有同樣的問題,當在測試工作測試項目突然不再被認可。

一個項目文件從另一個工作測試項目比較向我表明了<ProjectTypeGuids>節點從主<的PropertyGroup >節點丟失。

添加<的PropertyGroup >節點內的這條線解決我的問題:

C#:

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

VB:

<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids> 
2

FrstCBC's anwser並沒有爲我工作。 我在裝有Windows 7 64位和Visual Studio 2012的VirtualBox機器上。

我不得不移動輸出到本地文件夾:打開單元測試項目屬性,並在構建選項卡,瀏覽到本地文件夾的輸出路徑。測試現在可以被檢測到並且可以運行。

+0

謝謝,這對我有用 –

1

對我來說,這只是我的課程和方法不是public(我意識到海報確實有public,但是我通過谷歌搜索「testclass testmethod margin icons missing」找到了這篇文章)。愚蠢的錯誤,但也許它會幫助別人。

0

驗證所有.cs文件在「屬性」窗口中都標記爲「編譯」。如果它被標記爲內容,那麼你會遇到這個問題。

相關問題