我正在使用dotCover来检查我的代码覆盖率。 在一行中,我使用正则表达式来检查给定的字符串是否有效。
if (!Regex.IsMatch(value, @"[a-zA-Z\-]"))
throw new NullReferenceException("value");
我创建了一个单元测试,用于检查我的代码是否按预期工作。
但是dotCover不会识别我的代码。当然,因为我没有 用每个可能的(不匹配的)角色测试它。
这个问题的解决方案是什么?
答案 0 :(得分:0)
如果要检查字符串是否包含不是ascii字母或连字符的字符,可以使用以下模式之一:
带有否定的字符类(搜索字符):
if (Regex.IsMatch(value, @"[^a-zA-Z-]"))
没有(描述所有字符串):
if (!Regex.IsMatch(value, @"^[a-zA-Z-]*$"))
如果你想防止空字符串:
if (Regex.IsMatch(value, @"[^a-zA-Z-]|^$"))
或
if (!Regex.IsMatch(value, @"^[a-zA-Z-]+$"))