我正在对一个 Post 方法进行单元测试,该方法在其实现中使用
Microsoft.AspNet.Identity.Owin.SignInManager
因为 SignInManager 继承自类而不是接口 我不能使用 NSubstitute 来模拟 SignInManager 对象。因此,我无法使用 ReturnForAnyArgs 方法来让它返回"成功"的登录状态。
有没有办法在不使用NSubstitute的情况下返回任何参数?
SignInManager
有一些虚拟方法,NSubstitute将能够模拟这些方法(请记住,一些真正的代码将执行,因为它是一个具有一些非虚拟成员的类)。或者,您可以使用自己的接口包装SignInManager
所需的功能,在测试中模拟它,并使用适配器类来提供在后台使用SignInManager
的实现。
我还在"在控制器中使用"标题下发现了一些有关模拟自定义登录内容的信息,这些信息可能会有所帮助。