我正在编写一个自定义插件来自定义SpecFlow生成的自动生成的代码文件。
构建解决方案并将其放入SpecFlow测试项目的'lib'文件夹中。在保存SpecFlow功能文件时,我得到了
Specflow plugin : Generation error: Missing [assembly:GeneratorPlugin] attribute in 'path to dll'
即使我在插件程序集中标记了这个
[assembly: GeneratorPluginAttribute(typeof(CustomGeneratorPlugin))]
使用反射/自我测试我可以自己加载程序集并解析属性
代码就在这里 - https://github.com/chrismckelt/SpecFlowCustomPlugin
任何想法导致了什么?感谢
答案 0 :(得分:3)
通过将以下'path'属性添加到生成器SpecFlow配置部分
来解决<generator path=".\lib"
完整配置
<specFlow>
<generator allowDebugGeneratedFiles="false" allowRowTests="true" generateAsyncTests="false" path=".\lib" />
<runtime stopAtFirstError="false" missingOrPendingStepsOutcome="Ignore" />
<trace traceSuccessfulSteps="true" traceTimings="false" minTracedDuration="0:0:0.1" stepDefinitionSkeletonStyle="RegexAttribute" />
<plugins>
<add name="McKeltCustom" path=".\lib" type="GeneratorAndRuntime" />
</plugins>
<stepAssemblies>
<stepAssembly assembly="SpecFlow.Assist.Dynamic" />
</stepAssemblies>
</specFlow>
答案 1 :(得分:0)
我通过在SpecflowPlugin项目中将所有引用的TechTalk.SpecFlow dll的copy-local标志设置为false来修复此问题。