C# 将内联变量添加到理论xUnit

C# 将内联变量添加到理论xUnit,c#,xunit,C#,Xunit,在使用xUnit时,我试图使用一个变量作为InlineData 看起来是这样的: static string home = "test"; [Theory] [InlineData(home)] public void AddTest(string location) { Assert.True(LocationIs(location)); } 但我得到了一个错误:“属性参数必须是常量表达式、typeof表达式或属性参数类型的数组创建表达式” 我有没有办法做我想做的事?或者我只需要对

在使用xUnit时,我试图使用一个变量作为InlineData

看起来是这样的:

static string home = "test";

[Theory]
[InlineData(home)]
public void AddTest(string location)
{
    Assert.True(LocationIs(location));
}
但我得到了一个错误:“属性参数必须是常量表达式、typeof表达式或属性参数类型的数组创建表达式”


我有没有办法做我想做的事?或者我只需要对内联数据进行硬编码。

您可以使用
const string home=“test”
来实现,因为这是一个常量表达式

您还可以使用
MemberData
属性来指向
产生返回新对象[]{“test”}的内容
在本例中更复杂,但在不必是常量方面更灵活,并且允许您生成许多这样的数组,以便在不同的数据集上重复执行测试