我有一个主项目及其数据库(以及web.config中的相应连接字符串)。此外,具有单独的测试数据库的测试项目(以及测试项目的app.config中的相应连接字符串)。我想将测试数据库用于所有测试。
当我运行硒测试时,IISExpress Server使用web.config中的“主连接字符串”而不是app.config中的“测试连接字符串”。无论如何,是否可以告诉控制器正在测试模式下运行并使用其他连接字符串?
我正在使用以下安装程序来运行Selenium和IIS:
_iisProcess = new Process
{
StartInfo =
{
FileName = ....IIS Express\iisexpress.exe,
Arguments = $"/path:\"{_applicationPath}\" /port:{_iisPort}"
}
};
_iisProcess.Start();
ChromeDriver = new ChromeDriver();
也许我可以通过IIS Start传递一个变量,在打开数据库连接时可以用来更改连接字符串吗?
我尝试使用全局变量,但是由于测试和selenium实例在单独的实例上运行,因此无法使用。因此该值不会传递。
在单元测试代码中,只需使用XmlDocument
修改web.config,然后将其还原。