这是我的示例测试,
[Theory]
[BeforeAfterMethod]
[ClassData(typeof(GetTestData))]
public void Test3(int a)
{
ReporterLogs.Pass("value of a: " + a);
//TODO
}
我的GetTestData类是
public class GetTestData : IEnumerable<object[]>
{
private string _currentTestMethodName;
private List<object[]> _data = new List<object[]>();
public GetTestData()
{
Console.WriteLine(**Print test method name here**);
_data.Add(new object[] { 10 } });
}
public IEnumerator<object[]> GetEnumerator()
{
return _data.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
我想在GetTestData类中打印当前测试的方法名称(在这种情况下为 Test3 )。如何实现。预先感谢。
答案 0 :(得分:0)
可以通过如下使用Xunit中的DataAttribute来实现,
public class GetTestData : DataAttribute
{
private List<object[]> _data = new List<object[]>();
public override IEnumerable<object[]> GetData(MethodInfo testMethod)
{
if (testMethod == null)
throw new ArgumentNullException(testMethod.Name);
_data.Add(new object[] { 10 });
return _data;
}
}