c# - 为什么 C# 没有相当于 python 的 doctest 功能?

标签 c# .net python unit-testing doctest

这似乎是向一些人介绍单元测试的好方法。

最佳答案

一方面,documentation for doctest谈论“交互式 Python session ”。 C# 中没有类似的东西...那么输出将如何表示呢?您将如何执行所有必要的设置?

我敢说这样的事情是可能的,但我个人认为至少对于 C# 来说,将单元测试作为单元测试会更清楚,您可以享受以下事实的所有好处:你正在编写代码而不是注释。可以在编译时检查代码的语法正确性,您有 IntelliSense、语法突出显示、调试器支持等。

如果您正在编写代码,为什么不将其表示为代码?诚然,在 XML 文档中包含示例代码是相当常见的,但这很少以测试的形式出现 - 并且如果没有等效的“交互式 session ”,则需要人工构造来以可测试的形式表示输出。

我并不是说这是 Python 中的一个坏特性 - 只是我不认为它能很好地映射到 C#。语言有自己的风格,并不是 X 语言中的每个功能在 Y 语言中都有意义。

关于c# - 为什么 C# 没有相当于 python 的 doctest 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3965547/

相关文章:

c# - CAML 查询仅选择顶级文件夹

c# - 在 C# 中使用 Mono 单击鼠标 - Mac OS

.net - 整个应用程序 VB .Net 的 Keydown 事件

c# - 枚举所有可能的字符

python - Firefox Webdriver 将插件安装到远程 Webdriver

python - Music21 Midi 错误 : type object '_io.StringIO' has no attribute 'StringIO' . 如何解决?

c# - Blazor 组件之间注入(inject)的单例服务是不同的 [.NET 6]

c# - 覆盖十进制 ToString() 方法

.net - 使用 BuildTools_Full.exe 安装时,MSBuild.exe 在 Windows 中安装在哪里?

python - 如何将值从模板传递到 flask