我正在测试一个Post方法,在它的实现中使用一个
Microsoft.AspNet.Identity.Owin.SignInManager因为SignInManager继承的是类而不是接口,所以我不能使用NSubstitute来模拟SignInManager对象。因此,我不能使用ReturnForAnyArgs方法让它返回一个SignInStatus,比方说成功。
是否有任何方法可以不使用NSubstitute返回任何参数?
发布于 2015-03-13 04:42:44
SignInManager有一些虚拟方法,NSubstitute将能够模拟这些方法(请记住,一些真正的代码将执行,因为它是一个具有一些非虚拟成员的类)。或者,您可以使用自己的接口从SignInManager包装所需的特性,在测试中对其进行模拟,并使用适配器类提供一个在幕后使用SignInManager的实现。
我还在“在控制器中使用”标题下找到了关于模拟自定义登录内容的一些信息,这可能会有所帮助。
https://stackoverflow.com/questions/29011491
复制相似问题