我正在运行一个测试,我已经为某些度量执行了一个批处理文件,一旦计算完成,它就会给出这些度量的输出。我将 specflow 与 Given When and Then 使用 C# 一起使用。
在“Then”的最后一步,我需要验证输出的数据是否正确。我已经编写了将从 linux 文件中读取输出数据的代码(见下文)。我基本上要做的是比较 linux 文件中的数据,例如(33、554、68)与我所期望的相同。
我见过有多种方法可以用预期数据验证实际数据。我从 Assert.AreEqual(expected, actual) 开始,但不确定我是否可以对预期输出进行硬编码或将其与 excel 工作表中的数据进行比较。哪个是最简单和最好的选择?
public string validateMeasurement(string measurementName, string domaianName)
{
var processFilePath = "/orabin/app/oracle/actuals/" + measurementName + ".csv.ovr";
var actualItemData = Common.LinuxCommandExecutor.
RunLinuxcommand("cat " + processFilePath);
return actualItemData;
}
public void validateMeasurement(string Data, string itemStatus)
{
var actual =
var expected =
Assert.AreEqual(expected, actual);
最佳答案
我看到将“预期”值存储在 Excel 工作表之类的东西中的唯一好处是避免在预期值发生变化时重新编译。因为任何运行测试的人都能够重新编译代码;这对我来说似乎没什么大不了的。
我会让答案易于查找,并将其硬编码到测试中(或 TestCase
或等效框架,具体取决于您是否有多个)。
关于C#比较两段数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50593513/