首页 > 解决方案 > 集成测试中的静态配置文件

问题描述

我的集成测试中有一个返回配置文件的方法。

        IConfiguration ConfigGet()
        {
            IConfiguration config = new ConfigurationBuilder().AddJsonFile("cosmos.config.json").Build();
            return config;
        }

如果我的 Test 类中有多个测试,例如:


        [Fact]
        public async Task SaveSomething_ReturnsId()
        {
            var config = ConfigGet();

            var container = CosmosUtils.GetContainer(config["connectionString"], config["dbName"], config["collectionName"]);
            IDriverDataAccess driverDataService = new DriverDataAccess(container);

            IDriver driver = new Driver
            {
                Id = "123",
                Email = "123@123.com"
            };

            var id = await driverDataService.Save(driver);
etc

        }

        [Fact]
        public async Task GetByEmail()
        {
            IConfiguration config = ConfigGet();
            var email = "pjs@pjs.com";


            var container = CosmosUtils.GetContainer(config["connectionString"], config["dbName"], config["collectionName"]);
            IDriverDataAccess driverDataService = new DriverDataAccess(container);

            IDriver driverByEmail = await driverDataService.GetByEmail(email);

            Assert.NotNull(driverByEmail);

        }

如何避免每次测试都加载配置文件?我需要将其设为静态属性吗?

标签: c#integration-testingxunit

解决方案


推荐阅读