gpt4 book ai didi

c# - NSubstitute Mock 静态类和静态方法

转载 作者:行者123 更新时间:2023-12-05 05:10:29 27 4
gpt4 key购买 nike

我是单元测试的新手,我正在尝试模拟静态类中的静态方法。我已经读到您不能这样做,但我正在寻找解决该问题的方法。

我不能修改代码,并且在没有静态的情况下制作相同的功能不是一种选择,因为他们检查测试的代码覆盖率,我至少需要 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
}

我的问题是这个方法在一个 Controller 中,该 Controller 用响应声明一个 var,并根据它重定向用户。

最佳答案

如果您无法修改代码,那么我认为使用 NSubstitute 等基于 DynamicProxy 的库无法解决此问题。这些库使用 inheritance to intercept members on classes ,这对于静态和非虚拟成员是不可能的。

我建议尝试 Fakes .该页面上的示例之一涵盖了 stub DateTime.Now

其他可以模拟静态成员的替代方案包括 TypeMock 和 Telerik JustMock。

相关问题:https://stackoverflow.com/q/5864076/906

关于c# - NSubstitute Mock 静态类和静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56601788/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com