6

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

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

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

我的问题:访问inside是否可能且安全?如果不是,将资源引用存储为静态成员是一种合理的选择,还是会导致问题?TestContextAssemblyCleanup()

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

4

2 回答 2

1

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

于 2009-01-12T22:40:47.920 回答
0

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

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

于 2015-05-25T12:30:52.863 回答