0

在下面的代码片段中,我使用 ClassInitialize 和 Cleanup 围绕我正在运行的一系列测试包装事务。该代码在我的 GUI 测试运行程序中运行,但在 mstest 命令行中失败并出现以下错误。我可以强制类清理和初始化在同一个线程中吗?最好不要使用测试初始化​​和清理,因为它会显着减慢测试速度。

代码

        private static TransactionScope _trans;

    [ClassInitialize]
    public static void ClassInitialize(TestContext context)
    {
        _trans = new TransactionScope();
        //...do work
    }

    [ClassCleanup]
    public static void ClassCleanup()
    {
        _trans.Dispose();
    }

错误

运行有以下问题: 类清理方法 GeoMetExplainSheetTests.TestCleanup 失败。错误消息:System.InvalidOperationException:TransactionScope 必须在创建它的同一线程上处理。

堆栈跟踪:

在 System.Transactions.TransactionScope.Dispose()

4

1 回答 1

0

I suggest you to replace by removing static modifier

private TransactionScope _trans;
于 2013-03-27T13:18:44.070 回答