在C#中使用IronPython进行单元测试

13 投票
8 回答
3696 浏览
提问于 2025-04-11 20:46

我们知道,Python在生产力方面比任何编译语言都要强大很多。我们在用C#编程,需要用C#自己来写单元测试用例。如果我们看看写单元测试的代码量,差不多是原始代码的十倍。

那么,使用IronPython来写单元测试用例,而不是用C#,是否是个理想的选择呢?有没有人这样做过?我写了一些测试用例,感觉还不错。但是那些挑剔的经理们不接受。

8 个回答

3

Python是一种比C#更简洁的编程语言,这可能会让写单元测试变得更简单,因为还有很多开发者对自动化单元测试持抵触态度。如果我们引入像IronPython这样的语言,它通常能用更少的时间写出和C#相同的代码,这可能会鼓励更多人去写单元测试,这总是件好事。

而且,使用IronPython来编写测试代码,可能会让你整个项目的代码行数减少,这样一来,你的单元测试在未来更有可能被维护,而不是被忽视或丢弃。

6

Python非常适合用来测试C#代码。我们的应用程序中75%是用Python写的,25%是用C#(通过Python.Net),而我们的单元测试全部都是用Python来做的。

我发现,在Python中使用“桩”和“模拟”要简单得多,这可能是写有效单元测试最关键的部分之一。

4

Will的回答挺不错的——你给开发者增加了一个新要求。

另外,工具的支持情况怎么样呢?我自己还没试过这些,但我想知道:

  • 调试失败的单元测试有多简单?
  • 从IDE(集成开发环境)运行单元测试有多简单?(比如用ReSharper)
  • 从持续构建服务器自动化运行单元测试有多简单?

可能这些都没问题——但你应该检查一下,并把结果记录下来。

当然,除了IronPython,还有其他选择——Boo就是一个比较明显的选择。

撰写回答