如果一个测试未失败,则运行所有测试

本文关键字:测试 运行 失败 一个 如果 | 更新日期: 2023-09-27 18:36:02

我知道所有测试都应该是独立的,并以随机顺序运行。

但这是我的情况:

我需要测试我的库,它正在使用外部 Web 资源。我有一个测试来检查 Web 资源是否可用,我有很多测试来检查我从该资源获得的数据。

如果网络资源不可用,我的所有测试都失败了,我认为很难解释这个结果。有没有办法运行所有测试,当且仅当第一个测试(检查资源可用性)没有失败时,检查我从资源获得的数据?

如果一个测试未失败,则运行所有测试

我认为网络资源的可用性应该是测试库的先决条件。它本身不应该是一个单独的测试。

因此,您需要在TestFixtureSetup中检查连接。如果连接失败,夹具的所有测试将不会运行。此测试夹具中的所有测试都将标记为失败(如果没有连接,则为 true),您将收到消息

TestFixtureSetUp 在 YourLibtraryTests 中失败

不幸的是,NUnit 不会显示其他信息,如果您将无法通过某些消息进行测试

Assert.NotNull(connection, "Cannot establish connection to remote service");

但是,如果您知道TestFixtureSetUp失败,则很容易找到原因。