c#typemock获取最后一个案例的模拟结果

c#typemock获取最后一个案例的模拟结果,c#,typemock,C#,Typemock,我正在尝试使用typeMock来模拟方法调用。我在不同的情况下模拟了这个方法,但每次都得到了相同的结果。代码如下: [TestFixture] public class HomeControllerSpec { User _fakeUser; ProfileSettingsBL _profileSettingBL = null; [SetUp] public void SetUp() { // Inital setup }

我正在尝试使用typeMock来模拟方法调用。我在不同的情况下模拟了这个方法,但每次都得到了相同的结果。代码如下:

[TestFixture]
public class HomeControllerSpec
{
    User _fakeUser;
    ProfileSettingsBL _profileSettingBL = null;

    [SetUp]
    public void SetUp()
    {
        // Inital setup
    }


    [TestCase]
    public void DisconnectOutlookCalendarForUserRegisterWithEmail()
    {
        _fakeUser = new User();
        _fakeUser.LoginType = 4; // This is be different in each case

        Isolate.WhenCalled(() => _profileSettingBL.RetrieveUserProfile()).WillReturn(_fakeUser);

        HomeController ctrl = new HomeController();
        var result = ctrl.Disconnect();

        Assert.IsTrue(result.Content);
    }



    [TestCase]
    public void DisconnectOutlookCalendarForUserRegisterWithName()
    {

        _fakeUser = new User();
        _fakeUser.LoginType = 5; // This is be different in each case

        Isolate.WhenCalled(() => _profileSettingBL.RetrieveUserProfile()).WillReturn(_fakeUser);

        HomeController ctrl = new HomeController();
        var result = ctrl.Disconnect();

        Assert.IsTrue(result.Content);
    }

}
当不同的测试用例调用HomeController的
断开连接
方法时,我总是得到
\u fakeUser.LoginType==4
。但当我删除其中一个测试用例时,两个用例都运行得很好


有什么想法吗?

也许您可以尝试使用
[Isolated]
属性?
它指示Typemock隔离器在测试完成后清理测试结果。

您在测试之间使用的是共享变量。将
\u fakeUser
设置为测试的本地用户,您应该不会有问题。