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+ 的开发者之一
我在网上查了一下,除了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+ 的开发者之一