2

在 specflow 中,如果您创建一个名称为“做一些有用的事情”的场景,则生成的单元测试将被命名为“DoSomethingUsefull”(不带空格)。如果场景名称很长,这在 nunit 测试运行程序中不是很易读。

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

4

1 回答 1

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;
    }
}
于 2011-05-17T20:25:11.477 回答