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

发布于 2024-11-08 00:50:02 字数 155 浏览 0 评论 0原文

在specflow中,如果您创建一个名称为“Do SomethingUsel”的场景,则生成的单元测试将被命名为“DoSomethingUsefull”(不带空格)。如果您的场景名称很长,那么这在 nunit 测试运行程序中不太可读。

有没有办法用下划线分隔单词? (比如设定?)

In specflow, if you create a scenario with a name such as "Do something usefull", the generated unit test will be named "DoSomethingUsefull" (without spaces). This is not very readeable in the nunit test runner if you have long names for scenarios.

Is there a way to separate words with underscore? (like a setting?)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

茶花眉 2024-11-15 00:50:02

现在唯一的办法就是修改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;
    }
}

The only way now is to modify the SpecFlow's source code


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;
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文