【发布时间】:2009-07-03 09:51:26
【问题描述】:
默认情况下,nunit 测试按字母顺序运行。有谁知道设置执行顺序的任何方法?是否存在此属性?
【问题讨论】:
-
您为什么要这样做?听起来您依赖于运行顺序,这是一件坏事。您需要重新考虑为什么要这样做。单元测试应该独立运行并且完全独立于其他测试。听起来您正在为测试气味创建候选者Erratic Tests。
-
这看起来像是重复的,但你可以看到我对此的回答 here
-
@RichardOD - 应该!= 必须。这真的不是一个应该发生的事情,因为实际上几乎所有的集成测试都是按顺序运行的——问问你的 QA 团队是否随机安排了他们的测试顺序。
-
我目前有一些测试的顺序似乎很重要,尽管它不应该。就个人而言,我想要一种专门随机化测试顺序的方法,以帮助我确保我的测试不会以某种方式依赖于顺序。当然,我真正想要的是一个测试运行器,它会以随机顺序运行我的所有测试,直到它发现问题,或者我说停止。如果我跑了一夜,早上一切仍然是绿色的,那么我可以确信我已经消除了最后一个意外的副作用。
-
如果问题被更新以指定我们在这里讨论集成测试,这个问题将变得更加相关......我们都知道有关单元测试的规则,至少如果您阅读过 XUnit 测试模式并遵循鲍勃叔叔等.. 你这样做.. 但是 NUnit 等框架对于快速启动和运行集成测试也非常有用.. 你绝对不希望这些是随机的,特别是当一个昂贵的数据库时涉及设置..
标签: c# .net attributes nunit tdd