两者有什么区别NUnit http://www.nunit.org/ and xUnit.net https://xunit.net/?
开发其中两个而不是仅一个有什么意义?
我读到 xUnit 是由 NUnit 的发明者开发的:
xUnit.net 是.NET Framework 的单元测试工具。撰写者原本的NUnit 的发明者
另一方面:
NUnit 是适用于所有 .Net 语言的单元测试框架..
当前的生产版本 2.6 是第七个主要版本
这个的基于 xUnit 的单元测试工具
那么真相在哪里呢?
在撰写本答案时,最新的 NUnit 版本是 v3.5,xUnit.net 是 v2.1。
这两个框架都很棒,并且它们都支持并行测试运行(尽管以不同的方式)。NUnit自 2002 年以来,它被广泛使用,有完善的文档,并且拥有一个庞大的社区,而xUnit.net更现代、更遵循 TDD、更具可扩展性,也是 .NET Core 开发的趋势。这也是有据可查的。
除此之外,我注意到的主要区别是 xUnit.net 运行测试方法的方式。所以,在NUnit,我们有一个测试类和一组测试方法。
NUnit创建测试类的新实例,然后从同一实例运行所有测试方法。
然而,xUnit.net为每个测试方法创建测试类的新实例。
因此,不能使用字段或属性在测试方法之间共享数据,这是一种不好的做法,因为我们的测试方法将相互依赖,这在 TDD 中是不可接受的。因此,如果您使用 xunit.net,您可以确保您的测试方法是完全隔离的。
如果您愿意在测试方法之间共享一些数据,xUnit 会让您这样做。因此,默认情况下所有测试方法都是完全隔离的,但您可以在特定情况下有意打破这种隔离。我喜欢这种态度,这就是为什么我更喜欢它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)