使用VS 2015,Specflow 2.2和MSTest。
我有一个包含功能文件的测试项目,这些步骤包含在同一解决方案的库项目(编译为LCC.Integration.Common.Components.dll)中。从测试项目到库项目都有项目参考。
测试项目的app.config文件包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
</configSections>
<specFlow>
<!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config -->
<stepAssemblies>
<stepAssembly assembly="LCC.Integration.Common.Components" />
</stepAssemblies>
<unitTestProvider name="MsTest" />
</specFlow>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
</configuration>
在设计时,从功能到步骤的绑定似乎可以正常工作:
我可以右键单击功能中的任何步骤,选择“转到步骤定义”,然后导航到库项目中正确的步骤即可。
但是,当我运行测试时,测试浏览器将测试显示为“已跳过”,并显示以下消息:“ Assert.Inconclusive failed。找不到一个或多个步骤的匹配步骤定义”