dus*_*ntp 2 c# nunit unit-testing
在此测试中,所需的断言是获取的字符串数组的成员是否具有与某物类似的值。
例如:假设获取到的字符串数组为
string[] obtainedArr = new string("c:\programfiles", "d:\morefiles", "e:\some");
Run Code Online (Sandbox Code Playgroud)
我们有这样的东西吗:
Assert.That(obtainedArr, Has.Member.Which.Is.String.Containing("d:"), "D: location not obtained");
Run Code Online (Sandbox Code Playgroud)
或者我们有更好的方法来实现这一目标吗?
Assert.True(obtainedArr.Any(s => s.Contains("d:")), "D: location not obtained");
Run Code Online (Sandbox Code Playgroud)
注意:默认情况下,字符串比较区分大小写,因此搜索D:示例输入将失败。另外,如果您正在寻找子路径,那么也许StartsWith是更合适的检查,而不是Contains
Assert.That(obtainedArr.Any(s =>
s.StartsWith("d:", StringComparison.InvariantCultureIgnoreCase));
Run Code Online (Sandbox Code Playgroud)
当然,这段代码的可读性不是很好,所以我会创建(扩展)方法来检查给定路径是否是其他路径的子路径。
| 归档时间: |
|
| 查看次数: |
683 次 |
| 最近记录: |