c# - 如何“分类”多个文件并验证结果 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);
}
解决方案
.RunLinuxcommand($"cat {processFilePath}/* {Path}");
应该做的伎俩。将通配符放入路径名中称为UNIX衍生产品中的通配符。它很方便,因为它按词法顺序对匹配的文件名进行排序,因此您总是以相同的顺序获得相同的文件集。
但是.../*
有点混杂,它会占用该目录中的所有文件。你可能会更好
.RunLinuxcommand($"cat {processFilePath}/*.tstout {Path}");
或您希望收集的文件的适当扩展名。
您可以通过说来测试 globbing echo whatever/*.whatever
,您将看到文件名。
推荐阅读
- java - 处理 100 万条记录的 Executor 框架
- android - 使用带有生命周期转换的 viewmodelScope 启动
- algorithm - 找到将集合划分为给定大小子集的所有方法
- postgis - 备份和恢复旧版 Geoserver 2.6
- c# - 带有 SignalR 的 ASP.Net MVC 中的 CORS 导致“Access-Control-Allow-Origin”错误
- time-complexity - if-else 语句的递归函数时间复杂度
- performance - Symfony 3.4 带有 docker 的低性能作曲家
- php-7.2 - 如何在 PHP 7.2 中更改计数函数以像 PHP 7.1 一样工作?
- reporting-services - 当数据集中没有行时字段与其他数据集值匹配时的 fitler 表禁用过滤器
- angular - 为 ngFor 编写自定义管道