首页 > 解决方案 > 如何“分类”多个文件并验证结果 C#

问题描述

我已经编写了代码,其中给出了文件路径和预期结果。但是我该如何更改,var Path所以我输入多个文件名并期望在var expected.

[Then(@"Transfer measure should be generated for (.*)")]
public void ValidateMeasurement(string lifecyclestatus)
{
    var Path = "irm_pww_xxx_xxx.csv.ovr";
    const string processFilePath = "/orabin/app//ff/actuals/";
    var actual = Common.LinuxCommandExecutor
                       .RunLinuxcommand($"cat {processFilePath} {Path}");

    var expected = "6677,6677_6677,3001,6";

    Assert.AreEqual(expected, actual);

}

标签: c#bddspecflow

解决方案


   .RunLinuxcommand($"cat {processFilePath}/* {Path}");

应该做的伎俩。将通配符放入路径名中称为UNIX衍生产品中的通配符。它很方便,因为它按词法顺序对匹配的文件名进行排序,因此您总是以相同的顺序获得相同的文件集。

但是.../*有点混杂,它会占用该目录中的所有文件。你可能会更好

   .RunLinuxcommand($"cat {processFilePath}/*.tstout {Path}");

或您希望收集的文件的适当扩展名。

您可以通过说来测试 globbing echo whatever/*.whatever,您将看到文件名。


推荐阅读