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

Specflow.json - Converting app.config to specflow.json

我在网上查了一下,除了SPecFlow官方网站上的信息外,似乎没有太多这方面的信息。但该网站只提供高级信息

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

只是想知道 best/correct 执行此操作的方法是什么?而且,如果我需要添加任何额外的代码来完成这项工作,我会不知道吗?

当前 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",
      "value": ""
    },
    {
      "key": "PRODURL",
      "value": ""
    },
    {
      "key": "BrowserType",
      "value": "Chrome"
    }
  ],


  "connectionStrings": [
    {
      "connectionString": "",
      "name": ""
    }
  ]

此外,我在测试中如何调用它?以前我会使用以下内容:

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

specflow.json 文件仅包含 SpecFlow 的配置。这就是为什么文档中没有关于它的任何内容的原因。但我们可能应该明确这一点。

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


完全披露:我是 SpecFlow 和 SpecFlow+ 的开发者之一