可以在AssemblyCleanup方法中访问TestContext吗?

时间:2009-01-12 21:07:38

标签: c# visual-studio unit-testing microsoft-test-manager

在Microsoft的UnitTesting命名空间(Microsoft.VisualStudio.TestTools.UnitTesting)中,可以应用于静态方法的AssemblyInitializeAssemblyCleanup属性,它们将分别在所有测试之前和之后调用。

[AssemblyInitialize]
static public void AssemblyInitialize(TestContext testCtx)
{
    // allocate resources
}

[AssemblyCleanup]
static public void AssemblyCleanup()
{
    // free resources
}

我的问题:是否可以安全访问TestContext中的AssemblyCleanup()?如果没有,将资源引用存储为静态成员是一个合理的替代方案,还是会导致问题?

另外/可选:TestContext的引用传递给清理方法背后的原因是什么?

2 个答案:

答案 0 :(得分:1)

我正在访问同一个类的静态属性,它似乎工作正常。如果我遇到任何问题,我会更新这个答案。我是而不是,但访问TestContext所以我很好奇是否也会这样做。

答案 1 :(得分:0)

您无法将任何参数传递给AssemblyCleanup方法。如果您尝试这样做,则会出现错误:

  

结果消息:方法   SomeNamespace.TestDatabaseInitializer.AssemblyCleanup有错误   签名。该方法必须是静态的,公共的,不返回值   并且不应该采取任何参数。