不使用 NSubstitute 的 ReturnForAnyArgs
ReturnForAnyArgs without using NSubstitute
我正在对 Post 方法进行单元测试,该方法在其实现中使用
Microsoft.AspNet.Identity.Owin.SignInManager
因为 SignInManager 继承自 class 而不是接口,所以我无法使用 NSubstitute 模拟 SignInManager 对象。因此,我无法使用 ReturnForAnyArgs 方法将其设置为 return 表示成功的 SignInStatus。
有没有什么方法可以在不使用 NSubstitute 的情况下 return 处理任何参数?
SignInManager
有一些虚拟方法,NSubstitute 可以模拟这些方法(请记住,一些真实代码将执行,因为它是一个 class 和一些 non-virtual 成员) .或者,您可以使用自己的接口包装 SignInManager
中您需要的功能,在测试中对其进行模拟,并使用适配器 class 来提供在后台使用 SignInManager
的实现。
我还在 "Use in a Controller" 标题下找到了 some info on mocking custom sign-in stuff,可能会有帮助。
我正在对 Post 方法进行单元测试,该方法在其实现中使用
Microsoft.AspNet.Identity.Owin.SignInManager
因为 SignInManager 继承自 class 而不是接口,所以我无法使用 NSubstitute 模拟 SignInManager 对象。因此,我无法使用 ReturnForAnyArgs 方法将其设置为 return 表示成功的 SignInStatus。
有没有什么方法可以在不使用 NSubstitute 的情况下 return 处理任何参数?
SignInManager
有一些虚拟方法,NSubstitute 可以模拟这些方法(请记住,一些真实代码将执行,因为它是一个 class 和一些 non-virtual 成员) .或者,您可以使用自己的接口包装 SignInManager
中您需要的功能,在测试中对其进行模拟,并使用适配器 class 来提供在后台使用 SignInManager
的实现。
我还在 "Use in a Controller" 标题下找到了 some info on mocking custom sign-in stuff,可能会有帮助。