У меня есть атрибут NUnit IWrapTestMethod
:
public class OutputElapsedTimeAttribute : Attribute, IWrapTestMethod
{
public TestCommand Wrap(TestCommand command)
{
return new OutputElapsedTimeCommand(command);
}
}
и соответствующая команда BeforeAndAfterTestCommand:
public class OutputElapsedTimeCommand : BeforeAndAfterTestCommand
{
private Stopwatch _sw;
public OutputElapsedTimeCommand(TestCommand innerCommand) : base(innerCommand)
{
BeforeTest = ctx => { _sw = Stopwatch.StartNew(); };
AfterTest = ctx =>
{
_sw.Stop();
ctx.OutWriter.WriteLineAsync($"Took: {_sw.ElapsedMilliseconds}ms");
};
}
}
Когда я применяю атрибут к тестовому методу, команда правильно вызывается и выполняется. Однако я хочу иметь возможность поместить атрибут в тестовое устройство и применить его ко всем тестам в тестовом устройстве автоматически. Как это сделать? Я не могу найти ничего подходящего в документах.