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

C# 可以在AssemblyCleanup方法中访问TestContext吗?,c#,visual-studio,unit-testing,microsoft-test-manager,C#,Visual Studio,Unit Testing,Microsoft Test Manager,在Microsoft的UnitTesting命名空间(Microsoft.VisualStudio.TestTools.UnitTesting)中,有AssemblyInitialize和AssemblyCleanup属性可应用于静态方法,并将在所有测试之前和之后分别调用它们 [AssemblyInitialize] static public void AssemblyInitialize(TestContext testCtx) { // allocate resources }

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

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

[AssemblyCleanup]
static public void AssemblyCleanup()
{
    // free resources
}
我的问题:在
AssemblyCleanup()
中访问
TestContext
是否可能且安全?如果不是,将资源引用存储为静态成员是一种合理的选择,还是会导致问题


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

我正在访问同一个类上的静态属性,它似乎工作正常。如果遇到任何问题,我将更新此答案。但是,我没有访问
TestContext
,因此我很好奇这是否也能起作用。

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

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