集成测试-微服务互相调用

时间:2019-09-25 10:18:32

标签: c# testing .net-core

我无法在应用程序上运行集成测试。

我正在尝试在控制器上编写一个测试,以在同一解决方案中调用另一个api控制器。

所以基本上我有两个APIS在同一解决方案中互相调用。

我知道如何测试一个API,但是我似乎无法弄清楚如何运行另一个API。

我尝试用不同的启动构建两个单独的TestServer。但是似乎没有什么可以触发其他api。

任何指针都将不胜感激。

    [TestInitialize]
    public void Init()
    {
        var builder = new WebHostBuilder()
            .UseConfiguration(new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .Build())
            .UseStartup<Startup>();
        _server = new TestServer(builder);
        _client = _server.CreateClient();
    }


    [TestMethod]
    public void TestUser()
    {
        var request = _client.GetAsync("/api/v1/").Result;
        var jsonString = request.Content.ReadAsStringAsync().Result;
        var result = JsonConvert.DeserializeObject<bool>(jsonString);
        Assert.IsNotNull(result);
    }




    public async Task<bool?> GetUser()
    {
        bool? result = null;
        HttpResponseMessage response = await _client.GetAsync("/");
        if (response.IsSuccessStatusCode)
        {
            var responseContent = await response.Content.ReadAsStringAsync();
            result = JsonConvert.DeserializeObject<bool>(responseContent);
        }
        return result;

    }

0 个答案:

没有答案