ASP.NET Core集成测试:多配置下URL设置与环境变量配置问题
问题解答
1. 各配置文件的URL填写规则
不管是debug、release、test1还是test2配置,URL只取决于你测试前启动应用的方式:
- 如果是直接运行项目启动应用,所有
appsettings.{配置名}.json(比如appsettings.debug.json、appsettings.test1.json)里都填写:"DeploymentUrl": "http://localhost:7058" - 如果是通过IIS Express启动应用,所有对应配置文件里都填写:
"DeploymentUrl": "http://localhost:4303"
注:同一测试场景下只会用一种启动方式,不需要在单个配置文件里同时写两个URL,按实际启动方式统一填写即可。
2. 关联Visual Studio配置与ASPNETCORE_ENVIRONMENT环境变量
方法1:通过测试项目属性配置
- 右键测试项目 → 选择「属性」
- 切换到「调试」标签页
- 在「环境变量」区域,点击「编辑」
- 添加环境变量:
ASPNETCORE_ENVIRONMENT,值设置为当前选择的配置名(比如选Debug配置就填Debug,选Test1就填Test1) - 保存后,每次切换Visual Studio顶部的配置下拉框,同步更新这里的环境变量值即可
方法2:通过launchSettings.json配置
- 打开测试项目的
Properties/launchSettings.json文件 - 为每个配置添加对应的节点,示例:
{ "profiles": { "Debug": { "commandName": "Project", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Debug" } }, "Release": { "commandName": "Project", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Release" } }, "Test1": { "commandName": "Project", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Test1" } }, "Test2": { "commandName": "Project", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Test2" } } } } - 保存后,在Visual Studio顶部的调试下拉框选择对应配置,运行测试时会自动加载匹配的
appsettings.{配置名}.json
方法3:通过测试运行配置设置
- 打开「测试资源管理器」,右键测试项目 → 选择「运行设置」→ 「配置运行设置」→ 「新建」
- 在生成的
.runsettings文件中添加环境变量配置:<RunSettings> <RunConfiguration> <EnvironmentVariables> <ASPNETCORE_ENVIRONMENT>Debug</ASPNETCORE_ENVIRONMENT> </EnvironmentVariables> </RunConfiguration> </RunSettings> - 为每个配置单独创建一个
.runsettings文件,切换配置时选择对应的运行设置文件即可
内容的提问来源于stack exchange,提问作者Sienna
相关产品推荐
相关产品推荐

