首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结合单元测试和benchmarkDotNet?

结合单元测试和benchmarkDotNet?
EN

Stack Overflow用户
提问于 2022-11-18 00:13:55
回答 1查看 17关注 0票数 0

有办法将单元测试与BenchmarkDotNet结合起来吗?我的想法是,我希望能够使用AAA模式编写单元测试。但是,当使用dotnetBenchmark作为基准测试运行它时,我希望能够不包括基准测试的安排和断言部分(不要将它包含在正在进行基准测试的代码中,因为安排和行为与实际代码的执行无关)。通过这样对我的“单元测试”进行基准测试,我将不需要编写单独的基准测试和单元测试,而是能够将它们建立在彼此的基础上(不需要重复安排或操作)。

EN

回答 1

Stack Overflow用户

发布于 2022-11-18 14:07:04

BenchmarkDotNet无法只执行已编译代码的选定部分,而且不建议将基准测试视为单元测试。

下面是我在为微基准设计准则团队创建的.NET中所写的关于这个问题的文章:

在编写单元测试时,我们理想地希望测试给定类型的所有方法和属性。我们也测试快乐和不快乐的道路。每次单元测试运行的结果都是一个值:已通过或失败。基准是不同的。首先,基准测试运行的结果从来不是一个值。它是一个整体分布,用均值、标准差、最小值、最大值等来描述。要获得有意义的发行版,基准测试必须执行很多次。,这需要很长时间。使用dotnet/Performance存储库中的当前推荐设置,运行单个基准测试平均需要6秒。.NET标准2.0API的公共面有成千上万种方法。如果每个公共方法都有一个基准,那么运行这些基准需要两天半的时间。更不用说分析结果、过滤假阳性等所需的时间了。这只是编写基准与编写单元测试不同的原因之一。基准测试的目标是测试所有经常使用的方法(热门路径)的性能,并进行性能测试。的重点应该是最常见的用例,而不是边缘案例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74483598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档