Ric*_*tos 5 c# mocking nsubstitute visual-studio-2017
我正在尝试模拟静态类中的静态方法。我已经读到你不能这样做,但我正在寻找一种方法来解决这个问题。
我无法修改代码,并且在不静态的情况下制作相同的函数也不是一个选择,因为他们检查测试的代码覆盖率,而我需要至少 90%。
我已经尝试模拟它使用的变量,但它不起作用。
public static class MyClass
{
public static response MyMethod(HttpSessionStateBase Session,
otherVariable, stringVariable)
{
//some code
}
}
public ActionResult MyClassTested()
{
var response = MyClass.MyMethod(Session);
//more code
}
Run Code Online (Sandbox Code Playgroud)
我的问题是这个方法位于一个控制器内部,该控制器声明一个带有响应的 var ,并根据该变量重定向用户。
如果您无法修改代码,那么我认为无法使用 NSubstitute 等基于 DynamicProxy 的库来解决此问题。这些库使用继承来拦截类上的成员,这对于静态和非虚拟成员是不可能的。
我建议尝试假货。该页面上的示例之一涉及存根DateTime.Now。
其他可以模拟静态成员的替代方案包括 TypeMock 和 Telerik JustMock。
相关问题:/sf/ask/410485351/
| 归档时间: |
|
| 查看次数: |
13106 次 |
| 最近记录: |