我一直在使用MSpec,我真的很喜欢它.我发现要让ReSharper识别我的规格,我需要使用SubjectAttribute.
我想知道,在[Subject()]属性中放入什么是最好的东西?
如果我正在做BDD,那么我不知道被测试的类型所以[Subject(typeof(thingy))]似乎为时过早.可以在以后添加,我想一旦编写代码.
所以留下文本版本,[Subject("some text")].但放在那里最好的是什么?
无论我做什么,它似乎都不会影响我在ReSharper中获得的输出.我想在某种程度上这取决于个人偏好,但我想知道这里是否有任何约定?
Ale*_*roß 11
您不需要申请SubjectAttribute让ReSharper识别上下文和规范,包含It字段的类就足够了.但是,如果您希望ReSharper支持MSpec类型和字段(Because等)的自定义命名约定,则需要应用SubjectAttribute:
在ReSharper中定义自定义命名约定 选项| 语言/公共部分| 命名风格| 高级设置
添加用户定义的命名规则时,向下滚动列表以查看MSpec实体.
在ReSharper中启用MSpec注释 选项| 代码检查/代码注释部分
注释+ SubjectAttribute(即使没有自定义命名规则)也会阻止ReSharper将MSpec的字段标记为未使用.或者,在项目设置中禁用警告169.
Subject用作描述上下文的元数据,例如,您可以使用被测系统(编写单元测试时),您选择的字符串或两者.这些信息将在HTML和ReSharper输出中报告.它现在不起作用,我怀疑这是6.0的ReSharper运行器中的一个错误.
和字符串一样,你基本上可以放任何你想要的东西.我建议使用主题按功能对您的规格进行分组.
主题:登录
上下文:使用有效凭据登录时,使用无效凭据登录时等.
我的GitHub存储库中有一个例子.
| 归档时间: |
|
| 查看次数: |
927 次 |
| 最近记录: |