Specflow:在单词之间生成带下划线的测试

时间:2011-05-17 17:57:46

标签: c# .net nunit specflow

在specflow中,如果您创建一个名称为“Do something usefull”的方案,则生成的单元测试将命名为“DoSomethingUsefull”(不含空格)。如果你有很长的场景名称,那么在nunit测试运行器中这不是很可靠的。

有没有办法用下划线分隔单词? (就像一个设置?)​​

1 个答案:

答案 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;
    }
}