【问题标题】:Can one access TestContext in an AssemblyCleanup method?可以在 AssemblyCleanup 方法中访问 TestContext 吗?
【发布时间】:2009-01-12 21:07:37
【问题描述】:

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

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

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

我的问题:在AssemblyCleanup() 中访问TestContext 是否可能并且安全?如果不是,将资源引用存储为静态成员是否是一种合理的选择,或者这也会导致问题?

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-04
        • 2015-01-04
        • 1970-01-01
        • 1970-01-01
        • 2021-12-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多