gpt4 book ai didi

tdd - MSpec,我应该在我的 [Subject()] 属性中添加什么?

转载 作者:行者123 更新时间:2023-12-04 10:56:32 24 4
gpt4 key购买 nike

我已经使用 MSpec 有一段时间了,我真的很喜欢它。我发现要让 ReSharper 识别我的规范,我需要使用 SubjectAttribute .

不过我想知道,放在 [Subject()] 中的最好的东西是什么?属性?

如果我在做 BDD,那么我不知道被测类型所以 [Subject(typeof(thingy))]似乎为时过早。我想在编写代码后可以稍后添加。

所以留下了文本版本,[Subject("some text")] .但是放在那里最好的东西是什么?

无论我做什么,它似乎都不会影响我在 ReSharper 中获得的输出。我想在某种程度上这取决于个人喜好,但我想知道这里是否有任何约定?

最佳答案

您无需申请SubjectAttribute让 ReSharper 识别上下文和规范,一个包含 It 的类场就足够了。但是,如果您希望 ReSharper 支持 MSpec 类型和字段的自定义命名约定(Because 等),您需要应用 SubjectAttribute :

  • 在 ReSharper 中定义自定义命名约定 |选项 |
    语言/公共(public)部分 |命名风格 |高级设置

    当您添加用户定义的命名规则时,向下滚动列表以查看 MSpec 实体。
  • 在 ReSharper 中启用 MSpec 注释 |选项 |代码检查/代码注释部分

    注释 + SubjectAttribute (即使没有自定义命名规则)会阻止 ReSharper 将 MSpec 的字段标记为未使用。或者,在项目设置中禁用警告 169。
  • Subject用作描述上下文的元数据,例如,您可以使用被测系统(在编写单元测试时)、您选择的字符串,或两者兼而有之。这些信息将在 HTML 和 ReSharper 输出中报告。它现在不起作用,我怀疑这是 bug在 6.0 的 ReSharper 运行器中。

    与字符串一样,您基本上可以将任何您想要的东西放在那里。我建议使用该主题按功能对您的规范进行分组。

    主题:登录

    上下文:使用有效凭据登录时,使用无效凭据登录时等。

    有一个 example in my GitHub repository .

    关于tdd - MSpec,我应该在我的 [Subject()] 属性中添加什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7135482/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com