首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单个应用程序中,在单个.net核心2.2中并行调试集成测试和web api?

在单个应用程序中,在单个.net核心2.2中并行调试集成测试和web api?
EN

Stack Overflow用户
提问于 2019-06-17 18:10:00
回答 1查看 167关注 0票数 0

我已经在visual studio 2017的.net核心2.2中创建了web Api。在同一个项目中,我还添加了新的单元测试项目来测试创建的web api。现在,当我调试单元测试时,它不工作,并且我不能在web api的调试模式下调试单元测试。请帮我找出上述问题的解决方案。

创建Api,用于从数据库中获取用户列表,并具有搜索功能。在相同的解决方案中创建XUnit测试项目,对创建的Api进行测试。当我尝试运行XUnit测试项目时,它显示内部服务器错误,并且当我运行web时测试没有调试。以下是示例代码。在单个解决方案中有2个项目文件。一个是用于Api的,另一个是用于测试的。

代码语言:javascript
复制
[HttpPost]
        public ActionResult SearchCustomer(CustomerSearch objsearch)
        {
            var Search=_ourCustomerRespository.SearchCustomer(objsearch);

            if (Search.Count() == 0)
            return StatusCode(204,new {message = "No Record Found!"});

            return Ok(Search);
        }




[Fact]
        public async Task SearchCustomers()
        {

            var response = await _TestFixture.Client.PostAsync("api/Customer/SearchCustomer", new StringContent(
            JsonConvert.SerializeObject(new CustomerSearch
            {
                custid = 2,
                custfname = "",
                custlname = "",
                custemail = "",
                custorderby = "customerid",
                custsortdirection = "asc",
                custpagesize = 10,
                custpagenumber = 0
            }), Encoding.UTF8, "application/json"));
            response.StatusCode.Should().Be(HttpStatusCode.OK);
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-17 20:49:19

简而言之,你的问题就是你不是在做单元测试。API是一个外部依赖项,根据定义,单元测试没有外部依赖项。这种依赖关系需要被模拟,正是因为您现在遇到的问题:您的测试可能会失败,因为依赖关系存在问题,而不是被测试的实际代码。

如果您想测试代码和活动API之间的完整交互,这被认为是集成测试,在这种情况下,您可以确保外部依赖项在测试本身之外得到满足。例如,您可能会遇到一个专门部署的“测试”环境API。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56629118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档