我需要一个团队来开发使用C#.NET开发的中型桌面应用程序。在此之前,我尚未应用单元测试和测试驱动开发。我知道存在许多用于单元测试C#应用程序的工具和框架。到目前为止,我知道Nunit和与Visual Studio集成的单元测试工具。
我想知道,两者如何比较?
我需要一个团队来开发使用C#.NET开发的中型桌面应用程序。在此之前,我尚未应用单元测试和测试驱动开发。我知道存在许多用于单元测试C#应用程序的工具和框架。到目前为止,我知道Nunit和与Visual Studio集成的单元测试工具。
我想知道,两者如何比较?
Answers:
两者之间肯定有一些重叠。NUnit是它的前身,因此更加成熟。C#单元测试框架比较年轻,但是与Visual Studio集成在一起。
我来自Java世界,其中JUnit为王(还有其他人,但没有一个受欢迎),NUnit 2.5.x与JUnit 4的工作方式非常匹配。实际上,它比Java同行要好得多。
就测试定义而言,我更喜欢NUnit。当然,MS Test具有适用于您的类的相似(但不同)的属性,但我认为它缺少一些功能,可以节省一些类型的测试工作。您可能想查看关于StackOverflow的类似讨论。
我喜欢NUnit内置的新断言模型(它使用Hamcrest风格的断言),因为它们既易于阅读又易于扩展。
您可能还想看看Gallio / MbUnit,它以其提供的众多高级功能而闻名。Gallio Wiki上有一个不错的教程。