当我使用MSTest框架,并复制硒IDE为我生成的代码时,MSTest不识别[TearDown]和[SetUp]。有什么替代方案吗?


当前回答

请记住,Initialize/Cleanup方法必须使用正确的签名。

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.classinitializeattribute.aspx

    [AssemblyInitialize()]
    public static void AssemblyInit(TestContext context) {}

    [ClassInitialize()]
    public static void ClassInit(TestContext context) {}

    [TestInitialize()]
    public void Initialize() {}

    [TestCleanup()]
    public void Cleanup() {}

    [ClassCleanup()]
    public static void ClassCleanup() {}

    [AssemblyCleanup()]
    public static void AssemblyCleanup() {}

其他回答

您可以使用[TestInitialize]进行[SetUp],使用[TestCleanup]进行[TearDown]。

[TestInitialize]和[TestCleanup]在单个测试级别,[ClassInitialize]和[ClassCleanup]在类级别。

您将分别使用[TestCleanup]和[TestInitialize]。

请记住,Initialize/Cleanup方法必须使用正确的签名。

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.classinitializeattribute.aspx

    [AssemblyInitialize()]
    public static void AssemblyInit(TestContext context) {}

    [ClassInitialize()]
    public static void ClassInit(TestContext context) {}

    [TestInitialize()]
    public void Initialize() {}

    [TestCleanup()]
    public void Cleanup() {}

    [ClassCleanup()]
    public static void ClassCleanup() {}

    [AssemblyCleanup()]
    public static void AssemblyCleanup() {}