在 MSTest 中如何检查最后一个测试是否通过(在 TestCleanup 中)

2023-12-29

我正在使用 MSTest 在 Selenium 中创建 Web 测试,并且希望每次测试失败时都截取屏幕截图,但我不想每次测试通过时都截取屏幕截图。

我想做的是将屏幕截图功能放入[TestCleanup]方法并在测试失败时运行它,但如果测试通过则不运行它。但我如何知道最后一次测试是否通过了?

目前我正在做bool = false on [TestInitialize] and bool = true如果测试通过。

但我认为这不是一个很好的解决方案。

所以基本上我正在寻找一种方法来检测上次测试是否为真/假[TestCleanup].


@MartinMussmann 的答案是正确的,但不完整。要访问“测试上下文”对象 http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.testcontext.currenttestoutcome%28v=vs.100%29.aspx您需要确保将其声明为 TestClass 中的属性:

[TestClass]
public class BaseTest
{
    public TestContext TestContext { get; set; }

    [TestCleanup]
    public void TestCleanup()
    {
        if (TestContext.CurrentTestOutcome != UnitTestOutcome.Passed)
        {
            // some code
        }
    }
}

这一点在文中也有提到以下帖子 https://stackoverflow.com/a/13209868/2912011.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MSTest 中如何检查最后一个测试是否通过(在 TestCleanup 中) 的相关文章

随机推荐