在specflow中,如果您创建一个名称为“Do something usefull”的方案,则生成的单元测试将命名为“DoSomethingUsefull”(不含空格)。如果你有很长的场景名称,那么在nunit测试运行器中这不是很可靠的。
有没有办法用下划线分隔单词? (就像一个设置?)
答案 0 :(得分:3)
现在唯一的方法是修改SpecFlow的源代码
namespace TechTalk.SpecFlow
{
public static string ToIdentifierPart(this string text)
{
text = firstWordCharRe.Replace(text, match => match.Groups["pre"].Value + match.Groups["fc"].Value.ToUpper());
// --- add this line ---
text = text.Replace(" ", "_");
text = punctCharRe.Replace(text, "_");
text = RemoveAccentChars(text);
if (text.Length > 0)
text = text.Substring(0, 1).ToUpper() + text.Substring(1);
return text;
}
}