如果assert.Multiple.中的断言条件失败,我想截屏
例如
[Test]
public void TestScreenshot()
{
Assert.Multiple(() =>
{
Assert.IsTrue(false);
Assert.Istrue(true);
});
}
在上面的测试中,假设第一个断言是失败的。所以我想在第一次断言后截屏。但是一旦在Multiple条件中执行了所有步骤,Assert.Multle就会返回断言。
那么,在多个条件中添加的条件通过/失败后,是否还有截图。
遗憾的是,不支持您想要执行的操作。但是,在出现故障的情况下,以下内容可能会起作用。
Assert.IsTrue(false, () => TakeScreenShotAndReturnMessage("Your error message"));
...
private string TakeScreenShotAndReturnMessage(string msg)
{
// Code here to take the screen shot
TestContext.AddTestAttachment(pathToScreenShot);
return msg;
}
几个警告:
黑客不会比这更黑客!该代码滥用了一个旨在动态生成错误消息的功能。
它是纯净的"论坛代码";并且可能需要改变。如果你这样做了,感觉如果可以的话,可以自由编辑。根据NUnit的版本,您可能需要使用
delegate
而不是lambda。