如何强制单元测试的状态为“Test was 't run”?(女士测试)

本文关键字:run 测试 状态 单元测试 何强制 was Test | 更新日期: 2023-09-27 18:09:12

我有几个单元测试正在测试第三方REST API的代理(仅限GET)。这个API返回的数据可以改变,有时根本没有数据。这意味着有时,我无法检查我的代码是否工作。我不想让我的测试在没有检查所有内容的情况下通过,我也不想每次没有数据时都失败。我正在使用Ms Test,并且我注意到,在某些情况下,测试的"测试未运行"状态被分配给测试。我可以从我的单元测试代码中显式地调用这种状态吗?或者这是一个坏主意,对于这种情况有一个众所周知的实践?

如何强制单元测试的状态为“Test was 't run”?(女士测试)

查看TestCategory属性。对于所有可能由于上游层而失败的测试,我们将其标记为集成。然后可以在测试资源管理器中按特征筛选测试。

[TestMethod, TestCategory("Integration")]
public void MyTest()

当您确定没有结果可测试时,应该调用Assert.Inconclusive()。Test Explorer将这样显示结果,您还可以提供一个描述性字符串来指示发生了什么。

例如:

[Test}
public void TestGetResults()
{
    .. do GET operation
    if (getfailed)
    {
        Assert.Inconclusive("Unable to get data for test.";
        return;
    }
}