• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

c#typemock采取了最后一种情况的嘲笑结果

c/c++ 来源:Manwal 14次浏览

我想模拟使用typeMock的方法调用。我在不同情况下嘲笑了方法,但每次我都得到相同的结果。以下是代码:c#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的Disconnect方法我得到_fakeUser.LoginType == 4始终。但是当我删除一个测试用例时,两种情况都完美无缺。

任何想法?


===========解决方案如下:

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


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)