【问题标题】:Why my NUnit tests execute in different order than they are listed?为什么我的 NUnit 测试的执行顺序与列出的不同?
【发布时间】:2010-04-24 19:32:37
【问题描述】:

为什么我的 NUnit 测试的执行顺序与列出的不同?

执行顺序取决于什么?

【问题讨论】:

    标签: unit-testing nunit testing


    【解决方案1】:

    这取决于跑步者在反映您的测试程序集后如何安排它们。每个跑步者可能会以不同的方式执行此操作。

    例如,Reshaper 的跑步者按字母顺序运行。

    但这里的突出问题是 NUnit 测试不应该有顺序规定或依赖关系。

    如果您需要让测试依赖于其他测试,请使用 MbUnit。 This 是使用 DependsOnAttribute 的夹具依赖的示例。

    【讨论】:

    • 其实我是想了解执行顺序。我不是在遇到任何问题后才问这个问题。
    • @JMSA - 所以答案是“这取决于跑步者在反映您的测试组件后如何安排它们。每个跑步者可能会以不同的方式做这件事”。 - 更新的答案是明确的
    【解决方案2】:

    任何单元测试运行程序都可能会反映测试夹具类并搜索应用了某个属性(或匹配某些命名约定)的所有方法。这些方法的返回顺序不依赖于它们在源文件中指定的顺序,因此它们不能按照它们定义的顺序执行。这应该不是问题,因为单元测试应该彼此独立运行。

    【讨论】:

    • 其实我是想了解执行顺序。我不是在遇到任何问题后才问这个问题。而且,顺便说一句,我已经验证了@Sky Sanders 的答案。是真的。它确实按字母顺序执行测试。
    【解决方案3】:

    如前所述,它们按字母顺序运行。如果你在 GUI NUnit 运行器中打开一个测试 dll,你会看到排序。

    尽管如此,单元测试的运行顺序应该重要。单元测试应该是独立的独立的,因此顺序应该没有问题。

    【讨论】:

    • 啊,我只是讨厌所有这些迂腐的答案,它们实际上并没有回答问题,也没有解决问题。如果有人想使用 NUnit 运行一系列集成式测试怎么办?这是一个很棒的工具,但有时无法控制执行顺序可能会妨碍您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 2017-10-22
    • 2017-06-19
    相关资源
    最近更新 更多