【发布时间】:2010-11-18 00:22:04
【问题描述】:
我知道你通常不应该依赖于你的单元测试的顺序,但是在 xunit 中是否可以让你的测试以特定的顺序运行?
【问题讨论】:
-
这能回答你的问题吗? How to set the test case sequence in xUnit
标签: unit-testing testing xunit.net xunit
我知道你通常不应该依赖于你的单元测试的顺序,但是在 xunit 中是否可以让你的测试以特定的顺序运行?
【问题讨论】:
标签: unit-testing testing xunit.net xunit
在我们的 Samples 项目中有一个名为 PrioritizedFixtureSample 的示例,它允许您控制测试的顺序。
查看我们最新版本中的示例:https://xunit.net/#releases
【讨论】:
[Fact] 方法属性的第二个参数称为TestPriority,它本身采用一个表示测试顺序的整数(有符号)。展览 A:[Fact, TestPriority(5)]。以防万一您不想下载和加载示例项目...
Fact 似乎没有 TestPriority 属性了。
[TestPriority] 不是 xUnit 的一部分。有关实现示例,请参阅@AndreasReiff 提供的链接。
不,我不这么认为,但是根据定义,单元测试应该是独立的,所以顺序不应该很重要。如果您确实具有无法分离的自然依赖关系,我建议您将测试组合成一个具有多个断言的单元。
【讨论】:
xUnit.net 不提供订购测试的方法。
但是,其他一些框架可以。例如,在 mbUnit 中,您可以将 Order 属性附加到您的测试属性。许多 TDD 纯粹主义者认为这是滥用,任何需要排序的测试都应该合并到单独的单元测试中,但许多人发现在某些情况下能够对测试进行排序很有用。
【讨论】: