我想将一个类包装到我的Test中,所以我不需要每次都写这个类。
故事: 我有一个基类,它在测试失败时截取屏幕截图。 该函数运行良好,但我必须用类包装所有测试,这就是我想要避免的。
现在测试看起来像这样。
[Fact]
public void TextEditor()
{
UITest(() =>
{
// Run Test
});
}
但我的预期结果是
[Fact]
public void TextEditor()
{
// Run Test
}
是否可以将类与FACT属性合并?或者您对如何做到这一点有所了解?
基类:
protected void UITest(Action action)
{
try
{
action();
}
catch (Exception ex)
{
var screenshotHandler = CurrentBrowser.Driver as ITakesScreenshot;
if (screenshotHandler != null)
{
var screenshot = screenshotHandler.GetScreenshot();
var path = CurrentBrowser.GetScreenshotLocation(
new StackFrame(1).GetMethod().Name);
var file = new FileInfo(path);
if (file.Directory != null && !file.Directory.Exists)
{
file.Directory.Create();
}
screenshot.SaveAsFile(path, ScreenshotImageFormat.Jpeg);
}
throw;
}
}