在Nunit中写了一个简单的测试方法如下:


        [SetUp]
        public void Setup()
        {

        }
        [Test]
        public async void StepTest()
        {
            HttpClient httpClient = new HttpClient();
            string url1 = @"https://lebang2020.cn/api/siteinfo";
            var postArgs = new { VIN = "00152F3B1895355561317EAEAFD778843C864520" };
            var response = await httpClient.PostAsync(url1, new StringContent(JsonConvert.SerializeObject(postArgs), Encoding.UTF8, "application/json"));
            if (response.IsSuccessStatusCode)
            {
                //other code ....
            }
        }

然而它并没有像我想象的一样正常执行,这个是为什么呢?当我使用右键运行”调试测试“,它就像什么也没有发生一样。
经过我的仔细查找终于发现问题了,如果你需要测试异步测试方法,那就需要设置一下它的返回值,正确的方法名应该如下:

 [Test]
        public async Task StepTest(){}

就是必须有一个返回值 Task。

lebang2020.cn