2013-01-10 51 views
3

我有像下面這樣的單元測試實例方法的內部類。如何運行TestClass的所有單元測試及其內部TestClass測試?

我的問題是,當我去FooClassTests並使用VS在上下文中運行所有測試時,它跳過內部類的測試。

如果你正在使用這種結構,你知道如何將所有測試與內部類中的測試一起運行嗎?

[TestClass] 
public class FooClassTests 
{ 

    [TestMethod] 
    public void CanGuardConstructorParameters() 
    { 
     // Asserts here 
    } 

    [TestClass] 
    public class DoWorkTests //Tests method DoWork 
    { 
     [TestMethod] 
     public void CanDoTheWork() 
     { 
      // Asserts here 
     } 
    } 
} 
+1

你爲什麼使用內部測試類? –

+1

因爲 1)我不想在我的所有單元測試方法中重複測試的名稱, 2)它幫助我將每個方法的所有測試分組在一個特定的內部類中, 3)更容易重命名重命名一個類所有的單元測試方法,以防我重命名測試方法。 – pencilCake

+0

@Erno這樣做管理一大套測試變得更容易。當您將測試用作文檔時,尤其如此,通過爲每個方法指定一個類,您可以指定所有無效的斷言以及有效的斷言。如果您返回自定義異常,您可以提供一組測試,以顯示如何處理這些問題,而不會混淆主要測試類。 – deanvmc

回答

2

通過Visual Studio亞軍我不知道,但這是NCrunch支持。這就是我構建我所有測試的方式。

http://www.ncrunch.net/

這傢伙似乎是在MS測試太細使用它:

http://zendeveloper.blogspot.ie/2012/01/structuring-unit-tests.html

而且我幾乎可以肯定的是,這些類型的測試中ReSharper的測試運行工作。

+0

第二個鏈接幫助了我。 – pencilCake

+0

偉大的,是的,我沒有意識到NCrunch已經走向商業化,這並不能使它成爲許多可行的產品。 – deanvmc

相關問題