在微软的单元测试的命名空间(Microsoft.VisualStudio.TestTools.UnitTesting)有AssemblyInitializeAssemblyCleanup属性,你可以应用到静态方法和他们之前分别和所有的测试后调用。

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

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

我的问题:是否有可能和安全的访问TestContextAssemblyCleanup()?如果否,则存储为静态成员一个合理的替代资源的引用,或者可以认为会带来问题?

此外/任选:什么是背后的推理的的传递一个参考TestContext到清理方法

有帮助吗?

解决方案

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

其他提示

可以不传递任何PARAMATERS到AssemblyCleanup方法。这里的错误,如果你尝试这样做:

  

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top