【问题标题】:Add inline variables to a theory xUnit将内联变量添加到理论 xUnit
【发布时间】:2016-07-25 13:51:14
【问题描述】:

我在使用 xUnit 时尝试将变量用作 InlineData。

看起来像这样:

static string home = "test";

[Theory]
[InlineData(home)]
public void AddTest(string location)
{
    Assert.True(LocationIs(location));
}

但我收到错误:“属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式”

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

【问题讨论】:

    标签: c# xunit


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      • 2013-11-17
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多