2010-11-03 77 views
0

是否有可能增加Tests[SetupFixture]這也是自動對每次運行除了[SetUp]/[TearDown]叫什麼名字?SetupFixture包含的不僅僅是安裝/ TearDown中更

E.g:

[SetupFixture] 
public class SetupFixture { 

    [SetUp] 
    public void Setup() { 
     StaticObject.DoInit(); 
    } 

    [SomethingThatIsCalledAutomaticallyToo] 
    public void Setup_StaticObjectNamePropertyIsInitialized() 
    { 
     // Arrange 
     var expected = "ObjectName!"; 

     // Act 
     var actual = StaticObject.Name; 

     // Assert 
     Assert.AreEqual(expected.equals(actual)); 
    } 

    // More Checks.... 

    [TearDown] 
    public void TearDown() { 
     StaticObject.DoEqualize(); 
    } 
} 
+1

那麼爲什麼不打電話給所有你想用SetupFixture執行? – xandy 2010-11-03 15:37:50

回答

0

你可以保留方法,用於測試,如果你還是想讓它斷言。如果你想在每次測試之前或之後調用它,你可以像在普通方法調用中那樣在該方法內調用它。

[SetUp] 
public void Setup() { 
    StaticObject.DoInit(); 

    Setup_StaticObjectNamePropertyIsInitialized() 
} 

[SomethingThatIsCalledAutomaticallyToo] 
public void Setup_StaticObjectNamePropertyIsInitialized() 
{ 
    // test stuff 
} 
1

SetupFixture對程序集或命名空間運行一次且僅運行一次,具體取決於您放置的位置。

爲什麼不能有其他測試繼承的抽象基類。無論何時我有一個具有多個實現的抽象類,我都有一個基本測試來測試基本功能,然後爲每個我想測試的實現繼承它。基礎夾具中的測試將針對每個實施運行。

相關問題