gpt4 book ai didi

c# - NUnit 与 xUnit

转载 作者:IT王子 更新时间:2023-10-29 03:55:33 25 4
gpt4 key购买 nike

NUnit 之间有什么区别?和 xUnit.net ?开发其中两个而不是一个有什么意义?

我读到 xUnit 是由 NUnit 的发明者开发的:

xUnit.net is a unit testing tool for the .NET Framework. Written bythe original inventor of NUnit

另一方面:

NUnit is a unit-testing framework for all .Net languages .. thecurrent production release, version 2.6, is the seventh major releaseof this xUnit based unit testing tool

那么真相在哪里呢?

最佳答案

在撰写此答案时,最新的 NUnit 版本是 v3.5,xUnit.net 是 v2.1。

这两个框架都很棒,它们都支持并行测试运行(虽然方式不同)。 NUnit 自 2002 年以来一直存在,它被广泛使用、文档齐全并且拥有庞大的社区,而 xUnit.net 更现代、更符合 TDD、更具可扩展性,而且.NET Core 开发的趋势。它也有很好的记录。

除此之外,我注意到的主要区别是 xUnit.net 运行测试方法的方式。所以,在 NUnit 中,我们有一个测试类和一组测试方法。

NUnit 创建测试类的新实例,然后从同一实例运行所有测试方法。

然而,xUnit.net 为每个测试方法创建了一个新的测试类实例。

因此,不能使用字段或属性在测试方法之间共享数据,这是一种不好的做法,因为我们的测试方法会相互依赖,这在 TDD 中是 Not Acceptable 。因此,如果您使用 xunit.net,您可以确定您的测试方法是完全隔离的。

如果您愿意在测试方法之间共享一些数据,xUnit 会让您这样做。因此,默认情况下所有测试方法都是完全隔离的,但您可以在特定情况下有意地打破这种隔离。我喜欢这种态度,所以我更喜欢它。

关于c# - NUnit 与 xUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9769047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com