문제

Are there non-static equivalents to MSTest's [ClassCleanup] & [ClassInitialize]?

I am using MSTest for some system/integration level tests, and I don't want to have to worry about cleaning & initializing the connection in the tests.

Example Code:

[TestClass]
public class DefectCreatorTest
{
    private long _cookie;
    private soapcgi _soap;

    [ClassInitialize]
    public void Initialize()
    {
        _soap = new soapcgi {Url = "http://localhost:80/scripts/soapcgi.exe"};
        _cookie = Transaction.Login(_soap);
    }

    [ClassCleanup]
    public void TearDown()
    {
        Transaction.Logout(_cookie, _soap);
    }

    [TestMethod]
    public void CreateDefectTest()
    {
        var result = _soap.Foo();
        Assert.AreEqual("bar", result);
    }
}
도움이 되었습니까?

해결책

Answering your question, as far as i know - No, there isn't a non-static equivalent in MSTest.

But:

  1. looking at your code, there is no reason why _cookie and _soap shouldn't be made static, along with Initialize and TearDown. Doing so will let you forget the configuration worries during test writing...
  2. If you are willing to "jump ship", The NUnit equivalents for [ClassCleanup] & [ClassInitialize] can be applied to static & instance methods.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top