如何将JSON值传递给Nunit Testcase数据



我正在读取JSON文件并将值存储为对象Car:Name,Cost,Yearmodel

现在我需要将这3个JSON对象值传递给这个Testcasedata。同样,我需要在读取JSON文件数据时传递多个值。有人能解释一下怎么做吗?

public string JSONParser()
{

StreamReader r = new StreamReader("ESAggregationQuery.json");
string jsonString = r.ReadToEnd();
m = JsonConvert.DeserializeObject<AggModel>(jsonString);
carName = m.carName;
costPrice = m.costPrice;
modelYear = m.modelYear;
return "1";
}
private static IEnumerable<TestCaseData> ESAggregativeTestData
{
get
{               
yield return new TestCaseData[] { m.carName, m.costPrice, m.modelYear };
}
}
```

你不能"通过";将数据添加到TestCaseData项中。数据必须来源于那里。尝试做以下更改…

  1. ESAggregativeTestData的getter调用JSONParser或在那里添加代码。

  2. 改变你的yield语句返回一个新的TestCaseData,而不是一个数组。这不是一个NUnit。这就是IEnumerable的工作原理。如果您的JSON文件,现在或将来,包含多个测试项,您将需要把所有这些放在一个循环中。

  3. 您还没有向我们展示使用数据源的测试代码。要使用您提供的源代码,它应该接受三个适当类型的参数。

建议……下次请提供更完整的源代码,以显示您正在尝试执行的操作。

最新更新