c#typemock获取最后一个案例的模拟结果
我正在尝试使用typeMock来模拟方法调用。我在不同的情况下模拟了这个方法,但每次都得到了相同的结果。代码如下:c#typemock获取最后一个案例的模拟结果,c#,typemock,C#,Typemock,我正在尝试使用typeMock来模拟方法调用。我在不同的情况下模拟了这个方法,但每次都得到了相同的结果。代码如下: [TestFixture] public class HomeControllerSpec { User _fakeUser; ProfileSettingsBL _profileSettingBL = null; [SetUp] public void SetUp() { // Inital setup }
[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
设置为测试的本地用户,您应该不会有问题。