Первоначально возникало при использовании TestCaseSource
и атрибута пользовательского производного свойства. Вот дистиллированный пример:
[TestFixture]
public class SomeTestFixture
{
[Test, Property("SomeProperty", "foo")]
public void RegularTest()
{
}
[Test, Property("SomeProperty", "foo"), TestCase(0)]
public void ParametrizedTest(int x)
{
}
[TearDown]
public void TearDown()
{
var properties = TestContext.CurrentContext.Test.Properties;
}
}
properties
будет иметь "SomeProperty": "foo" при разрыве после RegularTest, но они будут пустыми после ParametrizedTest. Почему это так, и как я могу обойти это, кроме использования отражения?