如果烟雾测试不存在数据,则停止 C# Visual Studio 中的测试



>我有一包冒烟测试,它运行并从表中随机提取数据,并在另一种方法中搜索该数据并在之后断言。如果不存在数据,测试将失败。我有一个名为RandomVinSelect((的可重用方法。如果没有数据,我想停止测试。我已经搜索了测试结果警告,指出无法运行测试而不是测试失败。在这一点上,我被难住了。这是我拥有的代码,我不想在 UI 之后运行这些行。随机VINS选择,如果未找到数据。我认为使用 Xunit 可能没有办法做到这一点,它只是通过或失败......

    public static string RandomVinSelect(this Browser ui, string table, 
    string selector)
    {
        //I want to stop test here if no data exist or create a dataexist 
        //method that stops a test.
        int rows = ui.GetMultiple(table).Count;
        Random num = new Random();
        string randomnum = Convert.ToString(num.Next(1, rows));
        string newselector = selector.Replace("1", randomnum);
        string vin = ui.Get(newselector).Text;
        return vin;
    }

也许只是将冒烟测试放在单独的测试包或集合中,并包含一个测试,该测试只是检查它是否可以获取数据,然后当您运行这组测试时,如果第一个测试失败,您知道这只是由于没有可用的数据。

不理想,但可能足够好?

我安装了新的nuget包(xunit。SkippableFact(将[SkippableFact]添加到我的烟雾测试中。然后,我创建了一个可以调用该方法来检查并查看数据是否可用,并在该方法中运行 Skip.If(条件,"我的消息"(,并在不存在数据时提前关闭测试。然后在测试资源管理器中显示警告符号。

    public static void IsDataAvaiable(this Browser ui)
    {
        bool data = true;
        string pagecount = ui.GetPageCount();
        if (pagecount == "0") data = false;
        Skip.If(data == false, "The test could not run because no data available for validation.");
    }

最新更新