Dav*_*way 7 resharper binding annotations specflow
我正在使用Reshaper和Specflow,ResharperCode Inspection正在标记步骤定义,绑定和挂钩,因为从未使用过.
我试着用这里的答案
但无法成功获取正确选取的外部注释.这是我在External Annotations文件中尝试的内容: -
<assembly name="TechTalk.SpecFlow.dll">
<member name="T:TechTalk.SpecFlow.BindingAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.GivenAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.WhenAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.ThenAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
</assembly>
Run Code Online (Sandbox Code Playgroud)
我试过保存在C:\ Program Files(x86)\ JetBrains\ReSharper\v8.2\Bin和C:\ Program Files(x86)\ JetBrains\ReSharper\v8.2\Bin\ExternalAnnotations(不是因为在默认安装中不存在ExternalAnnotations文件夹,所以应该去哪里
但是当我关闭并重新打开VS时,检查仍然选择Bindings并将步骤defs视为未使用: -
Solution qdf.AcceptanceTests.sln
Project Alpari.QualityAssurance.SpecFlowExtensions
Alpari.QualityAssurance.SpecFlowExtensions\Steps\CrossStepDefinitionFileTwo.cs:7 Class 'CrossStepDefinitionFileTwo' is never used
Alpari.QualityAssurance.SpecFlowExtensions\Steps\CrossStepDefinitionFileTwo.cs:10 Method 'GivenICreateAnInstanceOfStepDefinitionOneFromStepDefinitionTwo' is never used
Alpari.QualityAssurance.SpecFlowExtensions\Steps\CrossStepDefinitionFileTwo.cs:42 Method 'GivenICallAMethodInStepDefinitionTwoThatCallsTheSameMethodInStepDefinitionFileOne' is never used
Run Code Online (Sandbox Code Playgroud)
谁能告诉我在配置这个时我做错了什么?
编辑完成xml后,亚历山大的帖子后工作正常: -
<!--Deploy to %ReSharperInstallDir%\Bin\ExternalAnnotations
to check the ExternalAnnotations have worked, highlight one and press Ctrl-Shift-F1
see https://stackoverflow.com/questions/23359738/how-can-i-get-resharper-to-treat-specflow-bindings-step-def-etc-annotations-as
for additional info
-->
<assembly name="TechTalk.SpecFlow">
<member name="T:TechTalk.SpecFlow.BindingAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.GivenAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.WhenAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.ThenAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.BeforeTestRunAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.AfterTestRunAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.BeforeFeatureAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.AfterFeatureAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.BeforeScenarioAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.AfterScenarioAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.BeforeAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.AfterAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.BeforeScenarioBlockAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.AfterScenarioBlockAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.BeforeStepAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.AfterStepAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.StepArgumentTransformationAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.StepDefinitionAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
<member name="T:TechTalk.SpecFlow.ScopeAttribute">
<attribute ctor="M:JetBrains.Annotations.MeansImplicitUseAttribute.#ctor" />
</member>
</assembly>
Run Code Online (Sandbox Code Playgroud)
将TechTalk.SpecFlow.xml放到C:\ Program Files(x86)\ JetBrains\ReSharper\v8.2\Bin\ExternalAnnotations \;
从<assembly name="TechTalk.SpecFlow.dll">
你提到的xml中删除".dll"扩展名<assembly name="TechTalk.SpecFlow">
;
重新打开Visual Studio;
清洁ReSharper缓存解决方案;