为什么C#没有像Python的doctest功能一样的对应?

2 投票
1 回答
1232 浏览
提问于 2025-04-16 05:43

这看起来是个不错的方式,可以让一些人了解单元测试。

1 个回答

6

首先,doctest的文档提到过“交互式Python会话”。在C#中没有类似的东西……那么输出该怎么表示呢?你又该如何进行所有必要的设置呢?

我敢说这样的事情是可能的,但就我个人而言,我觉得至少在C#中,把单元测试作为单元测试来写更清晰,这样你就能享受到写代码而不是写注释的好处。代码在编译时可以检查语法是否正确,你可以使用智能提示、语法高亮、调试支持等等。

如果你在写代码,为什么不把它表现为代码呢?诚然,在XML文档中包含示例代码是相当常见的,但这些示例很少以测试的形式出现——而且没有“交互式会话”的等价物,就需要一些人为的构造来以可测试的形式表示输出。

我并不是说这是Python中的一个坏特性——只是我认为这个特性在C#中并不太适用。不同的编程语言有各自的风格,并不是语言X中的每个特性在语言Y中都能很好地适用。

撰写回答