gpt4 book ai didi

c# - 如何使用动态值运行 Specflow/Specrun 特征文件

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:12 26 4
gpt4 key购买 nike

我对 Specflow/Specrun 和 C# 编程还很陌生。我需要帮助来解决我面临的问题。

我有一个查询数据库的 Specrun 特征文件。下面是特征文件的代码:

Scenario Outline: Ensure all rows are correctly inserted on in the table
Given I am connected to "Database-XYZ"
When I run a script to ensure all rows are inserted for <tableName> of a <schemaName>
Then All tables have correct <columnCount> count.

这绝对没问题。但我想注释第二行并在运行时使用 default.srprofile 文件指定数据库名称。

我想使用 default.srprofile 文件执行 runtests.cmd 文件(从命令行),并在运行时提供数据库名称。有可能实现吗?

最佳答案

不确定这是否有帮助,但您可能需要使用 app.config。我设置我的数据库和环境,然后从一个步骤中调用它。通过这种方式,您可以通过更改 app.config 中的值来创建调用并根据被测环境设置数据库。你可以做类似下面的事情。

 app.config
<add key="DatabaseTest" value="myDBConnectionString" />
<add key="DatabaseDev" value="myDBConnectionString" />
<add key="Environment" value="test" />

Step:
using System.Configuration; //make sure you have this included to use ConfigurationManager

[Given(@"I am connected to my environment database")]
public void GivenIAmConnectedToMyEnvironmentDatabase()
{

var myEnv = ConfigurationManager.AppSettings["Environment"];
switch (myEnv)
{
case "test":
var _testDatabase = ConfigurationManager.AppSettings["DatabaseTest"];
//create db connection
break;
case "dev":
var _devDatabase = ConfigurationManager.AppSettings["DatabaseDev"];
//create db connection
break;
}
}

关于c# - 如何使用动态值运行 Specflow/Specrun 特征文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40461763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com