将内联变量添加到理论 xUnit

Spe*_*amp 5 c# xunit

我尝试在使用 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 表达式或数组创建表达式”

有什么办法可以让我做我正在尝试的事情吗?或者我是否需要对内联数据进行硬编码。

Jon*_*nna 3

你可以这样做,const string home = "test"因为那将是一个常量表达式。

您还可以利用该MemberData属性来指向一些yield return new object[]{ "test" };在这种情况下更复杂的东西,但在不必保持不变方面更加灵活,并允许您产生许多这样的数组,以便在不同的数组上重复进行测试数据集。