Specflow.json-将app.config转换为specflow.json

问题描述

我在网上搜索,除了SPecFlow官方网站上的信息外,似乎没有太多其他信息。但是该网站仅提供高级信息

基本上我想将当前的app.config文件更新为specflow.json文件

只是想知道什么是最佳/正确的方法?而且,如果我需要添加任何其他代码来完成这项工作,我会不会意识到?

当前的App.config

<configuration>
    <configSections>
        <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler,TechTalk.SpecFlow"/>
    </configSections>

    <specFlow>
        <unitTestProvider name="MsTest" />
    </specFlow> 


    <appSettings>
        <add key="TestURL" value="https://test.com" />
        <add key="UATURL" value="https://test.com"/>
        <add key="PRODURL" value="https://test.com" />
        <add key ="browserType" value = "chrome" />
    </appSettings>

    <connectionStrings>
        <add name="DataBaseName" connectionString=""/>
        <add name="DataBaseName" connectionString=""/>
    </connectionStrings>

</configuration>

当前specflow.json

 {
  "bindingCulture": {
    "language": "en-us"
  },"language": {
    "feature": "en-us"
  }

我会假设这样吗?

{
  "bindingCulture": {
    "language": "en-us"
  },"language": {
    "feature": "en-us"
  },"stepAssemblies": [
    { "assembly": "" }
  ],"appSettings": [
    {
      "key": "TestURL","value": ""
    },{
      "key": "UATURL",{
      "key": "PRODURL",{
      "key": "browserType","value": "Chrome"
    }
  ],"connectionStrings": [
    {
      "connectionString": "","name": ""
    }
  ]

我在测试中怎么称呼它?以前我会使用以下内容

var url = ConfigurationManager.AppSettings[“TestURL”];

解决方法

specflow.json文件仅包含SpecFlow的配置。这就是文档中什么都没有的原因。但是我们可能应该澄清一下。

您必须将appSettings和ConnectionString放在单独的配置文件中。 根据您所使用的内容,可以将它们保留在app.config中,将它们放在appsettings.json文件或其他文件中。这是我无法回答的,因为它100%取决于您使用的解决方案。


完全公开:我是SpecFlow和SpecFlow +的开发商之一