Вот мой тестовый класс
namespace MyNamespace
{
public class TestClass : TestBase
{
public TestClass(ITestOutputHelper output, TestScenario tScenario): base(output, tScenario)
{
}
[Theory]
[MyCustAttrib("data")]
[MemberData(nameof(GetTestData))]
public void Test_Method(string arg1, string arg2)
{
//Assign
//Act
//Assert
}
}
public abstract class TestBase : XunitContextBase, IClassFixture<TestScenario>
{
public TestScenario testScenario = null;
public TestBase(ITestOutputHelper output, TestScenario tScenario) : base(output)
{
testScenario = tScenario;
}
}
[AttributeUsage(AttributeTargets.Method, AllowMultiple =false, Inherited =true)]
public class MyCustAttrib : BeforeAfterTestAttribute
{
private string id;
public MyCustAttrib(string id)
{
id = id;
}
public override void Before(MethodInfo methodUnderTest)
{
base.Before(methodUnderTest);
//TO-DO
//Access testScenario field of the runtime instance of TestClass.
}
}
}
Как получить экземпляр Testclass в методе переопределения "Before" MyCustAttrib? Цель здесь - передать тестовые данные между различными итерациями Test_Method, используя поле testScenario в TestClass.