点网测试例程失败

问题描述

我有一个dotnet项目,正在构建一个实施测试例程

这是我的代码

Base-> BaseProject-> Controllers-> SensorController

    [Route("[controller]")]
    [ApiController]
    public class SensorController : Controller
    {
        private readonly SensorContext _context;

        public SensorController(SensorContext context)
        {
            _context = context;
        }

        
        [HttpGet("api/")]
        public async Task<ActionResult<IEnumerable<Sensor>>> GetTodoItems()
        {
            return await _context.Sensor.ToListAsync();
        }
    }

在我的TestProject中,我得到了:

Base-> TestProject-> Fixtures-> TestContext

    public class TestContext
    {
        public HttpClient Client { get; private set; }
        private TestServer _server;
        public TestContext()
        {
            SetupClient();
        }
        private void SetupClient()
        {
            _server = new TestServer(new WebHostBuilder().UseStartup<Startup>());
            Client = _server.CreateClient();
        }
    }

Base-> TestProject-> SensorApiTest.cs

    public class SensorApiTest
    {
        private readonly TestContext _testContext;
        public SensorApitest()
        {
            _testContext = new TestContext();
        }

        [Fact]
        public async Task Values_Get_ReturnsOkResponse()
        {
            var response = await _testContext.Client.GetAsync("/Sensor/api");
            response.EnsureSuccessstatusCode();
            Assert.Equal(HttpStatusCode.OK,response.StatusCode);
        }
    }

如果我运行基础项目并使用失眠症发送请求,我得到的响应就很好。但是使用dotnet测试运行TestProject会返回404错误。 该项目的依赖项工作正常,我不知道为什么它不运行。

有人可以帮助我吗?谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)