2009-07-30 80 views
0

我有以下测试设置。在Visual Studio负载测试中使用TypeMock Isolator.Swap.AllInstances <T>?

[TestClass, 
Isolated] 
public class TestClass 
{ 
    public TestClass() 
    { 
    } 

    private TestContext testContextInstance; 
    public TestContext TestContext 
    { 
     get { return testContextInstance; } 
     set { testContextInstance = value; } 
    } 

    [ClassInitialize, 
    Isolated] 
    public static void InitializeRunState(TestContext testContext) 
    { 
     Helpers.SetupMocks(); 
     //do some class init stuff 
    } 

    [TestInitialize] 
    public void InitializeTestState() 
    { 
     Helpers.SetupMocks(); 
    } 

    [TestMethod] 
    public void Test() 
    { 
     //execute test 
    } 
} 

Helpers.SetupMocks()方法,我做给Isolator.Swap.AllInstances<T>()打电话。

只要我没有执行负载测试,这个效果很好。一旦我设定的负载测试将执行Test方法TypeMock开始抛出此异常:

TypeMock.TypeMockException:***不能调用Swap.AllInstances()不止一次在类型多。

有没有办法避免这种情况?我有配置错误的东西吗?

回答

2

免责声明我在Typemock

首先要注意的是,我们抛出此异常,因为这里真的编造一个类型的所有实例不止一次没有意义,我们希望让用户知道,他可能犯了一个错误工作。
我认为问题是,当你运行负载测试时,mstest并行运行测试类的几个实例。
在这种情况下,您应该将调用Isolator.Swap.AllInstances()从类设置移动到测试方法。
如果mstest运行不会在同一个类中并行运行测试,那么它可能会工作。 不幸的是,似乎mstest没有重写此行为的命令行参数。

相关问题