您使用什么.NET语言编写单元测试?

时间:2008-11-30 21:43:29

标签: .net unit-testing

在过去,我使用C#编写了大部分单元测试,即使实际的软件开发是在另一种.NET语言(VB.NET,C ++ .NET等)中,但我可以使用VB来获得相同的结果。我想我使用C#的唯一原因是因为互联网上的大多数例子都是用C#编写的。

我使用单元测试作为.NET软件开发的一部分,您更喜欢使用哪种语言?您选择使用它的原因是什么?

我知道它在很大程度上取决于被测试的语言,但我感兴趣的是在单元测试中是否有特定语言的偏好。

4 个答案:

答案 0 :(得分:6)

您应该使用适合您的开发团队的语言。

我不知道你会用除了项目其余部分编写的语言以外的语言编写单元测试,因为它可能会引起混淆,或者需要开发人员知道两种不同的语言才能工作关于这个项目。

测试应遵循KISS原则。

答案 1 :(得分:2)

C#因为这就是写入所有新代码库的原因。我想说这很大程度上取决于公司首选语言是什么。如果可能的话,我认为最好在可能的情况下修复一个,这也是测试的内容。如果只有少数用C ++编写,那么将更常用的语言保留为测试,这样就可以更好地处理它们。

答案 2 :(得分:1)

我在C#中编写了所有的.Net应用程序/业务代码,因此在C#中编写单元测试也很自然。我认为用另一种语言编写测试代码会在测试代码和应用程​​序代码之间引入不必要的分离。

答案 3 :(得分:1)

我几乎总是用与开发应用程序相同的语言编写单元测试。除了它似乎是最合乎逻辑的想法之外,我没有其他理由。我可以使用多种语言进行编程,但这并不意味着在我之后接收代码的人可以。

我确实有一个例外。当我在F#中编码时,我经常用C#编写单元测试。也就是因为IDE不能很好地支持F#单元测试。

第二个原因是单位测试通常不是很好的代码。它可能需要一些不时的设置来测试角落场景。在那种情况下,我经常发现F#类型的安全性使得很难测试这种情况。这可能只是我对F#缺乏经验,但我发现使用C#创建这些场景更容易。