C#比较两段数据

标签 c# testing

我正在运行一个测试,我已经为某些度量执行了一个批处理文件,一旦计算完成,它就会给出这些度量的输出。我将 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/

相关文章:

android - 在 IntelliJ 中运行多平台 Kotlin 测试产生 No JDK specified 错误

c# - 初始化许多静态实例怎么样?有没有人见过用法?

c# - 将 Caliburn.Metro.Demo 从 C# 转换为 VB

c# - EF 转换问题

C#使用代码而不是设计器将可点击图像添加到gui

selenium - Chai-As-Promised 正在处理断言错误

c# - 调用线程无法访问此对象,因为另一个线程拥有它

ruby-on-rails - 功能测试错误 - 未初始化常量 FFaker::File

python - 为什么我的 Django 工厂函数在本地数据库中创建模型,而不是测试数据库?

security - 如何在 Web 应用程序中操作 View 状态数据?