Xunit有一个很好的功能:你可以用Theory属性创建一个测试并将数据放在InlineData属性中,xUnit将生成许多测试,并测试它们.
我想有这样的事情,但参数我的方法不是"简单的数据"(如string,int,double),但我的类的列表:
public static void WriteReportsToMemoryStream(
IEnumerable<MyCustomClass> listReport,
MemoryStream ms,
StreamWriter writer) { ... }
Run Code Online (Sandbox Code Playgroud) 我尝试在使用 xUnit 时使用变量作为 InlineData。
它看起来像这样:
static string home = "test";
[Theory]
[InlineData(home)]
public void AddTest(string location)
{
Assert.True(LocationIs(location));
}
Run Code Online (Sandbox Code Playgroud)
但我收到错误:“属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式”
有什么办法可以让我做我正在尝试的事情吗?或者我是否需要对内联数据进行硬编码。