C# 单元测试 - 检查是否达到了私有方法

omriman12

我正在使用 C# MOQ 库。

假设我想UnitTest为这段代码创建一个

if(condition){
    privateMethod();
}
else{
    logger.info("didn't hit")
}

我想检查是否privateMethod被击中,我无法使用该Verify功能,因为它是私有的。我怎样才能做到这一点?

我想过添加一个Status专用于单元测试成员,它将在退出测试方法之前保存最后一个位置。

伊万·姆拉德诺夫

不要测试私有方法。它们是类的私有实现细节。您应该只测试执行公共方法的结果。

正确设计的 SOLID 代码永远不会让您处于需要您进行私人模拟的位置。

根据您是否要更改设计,您可以采取以下几种方法:

  • 不要试图模拟私人细节,专注于公共 API(对设计问题没有帮助)
  • 将私有方法提取到类中,引入依赖项(长期解决方案,改进设计并使代码易于测试)
  • 保护私有方法,在测试中覆盖(对设计问题没有帮助,可能不会产生有价值的测试)

无论你选择哪个,我都留给你。但是,我会再强调一次——模拟私有方法不是单元测试、库或工具问题——它是一个设计问题,因此最好解决。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单元测试C#,并测试私有方法

来自分类Dev

私有方法的单元测试 c#

来自分类Dev

单元测试专用方法-目标C

来自分类Dev

通用方法的c#单元测试

来自分类Dev

C#单元测试覆盖方法

来自分类Dev

void 方法的单元测试 C#

来自分类Dev

Objective-C中的单元测试私有类

来自分类Dev

如何使用Moq框架在C#中为私有方法编写单元测试?

来自分类Dev

在C#中执行/调试单元测试“方法”?

来自分类Dev

用于存储过程方法的C#单元测试

来自分类Dev

将C#单元测试转换为方法

来自分类Dev

飞镖,单元测试私有方法

来自分类Dev

对类别中的私有方法进行单元测试?

来自分类Dev

在Akka中对私有方法进行单元测试

来自分类Dev

单元测试,私有方法和隐藏抽象

来自分类Dev

飞镖,单元测试私有方法

来自分类Dev

在单元测试中访问实例的私有方法

来自分类Dev

在运行所有测试或执行特定测试后,C ++单元测试失败

来自分类Dev

C# - 如何在生产者/消费者场景中对私有方法进行单元测试?

来自分类Dev

是否可以为此Expression评估程序类的私有方法编写单元测试?

来自分类Dev

验证私有方法是否获得调用单元测试

来自分类Dev

C#中的私有静态方法的单元测试接受其他私有静态方法作为委托参数

来自分类Dev

最新的C ++单元测试?

来自分类Dev

使用CATCH C ++单元测试框架测试两个std :: vectors是否相等

来自分类Dev

检查单元测试中是否委托了所有方法

来自分类Dev

AngularJS单元测试检查是否调用了没有方法的函数

来自分类Dev

单元测试嵌套方法

来自分类Dev

单元测试UITextField方法

来自分类Dev

单元测试通用方法

Related 相关文章

热门标签

归档