Pav*_*anS 4 c# selenium specflow
我是SpecFlow的新手,并使用SpecFlow软件包和SpecFlow附加软件包(NUnit随附)的基本功能进行了安装安装。
添加功能文件后,我在使用自定义工具生成SpecFlowsingleFilegenerations时遇到了一些问题(并且通过从属性中删除选项来解决了这些问题)
然后,当我重建解决方案时。它在unittestprovider的appconfig文件中显示了一些无法识别的元素
错误:[SpecFlow] System.Configuration.ConfigurationErrorsException:无法识别的元素'unitTestProvider'。
我的appconfig文件specflow部分
<specFlow>
<unitTestProvider name="NUnit" />
<plugins>
<add name="Baseclass.Contrib.SpecFlow.Selenium.NUnit" path="..\packages\Baseclass.Contrib.SpecFlow.Selenium.NUnit.1.3.1\tools" />
</plugins>
</specFlow>
Run Code Online (Sandbox Code Playgroud)
该配置文件不适用于SpecFlow 3.0及更高版本。您可以在此处阅读有关如何更新到3.0的文档。它说:
更改单元测试提供程序的配置方式
在早期版本的SpecFlow中,用于执行测试的单元测试提供程序是在app.config文件中配置的。从SpecFlow 3开始,我们强烈建议您通过安装可用的软件包之一来配置您的单元测试提供程序(请参阅下文)。
并且:
specflow.json
展望未来,我们建议使用specflow.json配置SpecFlow,而不是app.config。.NET Core项目需要specflow.json(不支持app.config)。对于完全框架项目,虽然可以使用specflow.json是可选的,但我们建议迁移到新格式。有关更多详细信息,请参阅文档中的配置。
因此,您可以从app.config中删除SpecFlow并创建一个名为specflow.json的文件。您可以将以下内容放入其中:
{
"language": {
"feature": "en-US"
}
}
Run Code Online (Sandbox Code Playgroud)
您可以根据需要将语言更改为其他语言。
如果还没有,请在项目中添加一个测试运行器。在您的情况下,它是NUnit,因此请添加带有NuGet的SpecFlow.NUnit。通常,您需要示例项目中列出的NUnit 软件包。
| 归档时间: |
|
| 查看次数: |
1761 次 |
| 最近记录: |