简体   繁体   English

asp.net 核心 webapi MsTest

[英]asp.net core webapi MsTest

I am try to use MsTest to test asp.net core webapi我正在尝试使用 MsTest 测试 asp.net 核心 webapi

  [TestClass]
public class IndexControllerTest
{
    private readonly WebHostTestHelp _webhost;

    public IndexControllerTest( )
    {
        _webhost =new  WebHostTestHelp();
    }
    [TestMethod]
    public async Task GetindexstringhttpTest()
    {
        var res = await _webhost._http.GetAsync("api/Index/indexstring");
        var result = await res.Content.ReadAsStringAsync();
        Console.WriteLine(result);
        Assert.AreEqual("OK", res.StatusCode.ToString());
        Assert.AreEqual("indexstring", result);
        res.isCodeOk();
    }
    [TestMethod]
    public async Task GetindexresultdatahttpTest()
    {
        var res = await _webhost._http.GetAsync("api/Index/indexresultdata");
        var result = await res.Content.ReadAsStringAsync();
        Console.WriteLine(result);
        Assert.AreEqual("OK", res.StatusCode.ToString());
        res.isCodeOk();
    }
}

I use this code to test webapi.My purpose is to see console.WriteLine.我用这段代码来测试webapi。我的目的是看console.WriteLine。 But asp.net core have Logging with default output.但是 asp.net 内核具有默认 output 的日志记录。 So I see this.所以我看到了这个。

 warn: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3]
      Failed to determine the https port for redirect.
info: DataBase.FilterHelp.LogFilterAttribute[0]
       0 | zekj.Controllers.IndexController.indexresultdata (zekj) | {"state":"查询","affectRow":0,"countRow":1,"message":{"data":"2222indexresultdata"}}
{"state":"查询","affectRow":0,"countRow":1,"message":{"data":"2222indexresultdata"}}

I do not need to see warn,info or other.我不需要查看警告、信息或其他。 Please tell me how to do.Thanks.请告诉我该怎么做。谢谢。

I change my code and it work.我更改了我的代码并且它工作。

_testserver = new TestServer(WebHost.CreateDefaultBuilder().ConfigureLogging(x => x.ClearProviders()).UseStartup<zekjRestaurant.Startup>());

I think you have a setting in your app settings json, something to do with level of logging that's defaulted.我认为您在应用程序设置 json 中有一个设置,这与默认的日志记录级别有关。 Can you share your settings for logging and then I can update my answer or you can just trying changing level to error.您能否分享您的日志记录设置,然后我可以更新我的答案,或者您可以尝试将级别更改为错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM