.net核心2.1测试API控制器缺少AspNetCore.Mvc参考

时间:2018-07-29 21:31:06

标签: c# xunit asp.net-core-2.1

我正在尝试从this MS doc开始使用.net core 2.1测试API控制器。

我的代码看起来像

    [Fact]
    public async Task ShouldReturnOkWithHealthBackend()
    {
        var apiConsumerService = new Mock<IApiConsumerService>();
        apiConsumerService.Setup(m => m.Consume()).Returns(Task.FromResult(true));

        var controller = new HealthController(apiConsumerService.Object);

        await controller.GetHealth();
    }

在执行await控制器方法调用时,我陷入了“未引用程序集错误”的问题

我可以添加

using Microsoft.AspNetCore.Mvc;

但是VS表示Microsoft命名空间中不存在AspNetCore。

Intellisense建议我添加一些参考,但这也不起作用。

Intellisense suggestions to add AspNetMVC.Core

但是单击它不会执行任何操作。我还尝试过使用csproj文件来查看是否可以强制加载这些程序集,但仍然没有成功。

我已经使用XUnit模板以及自定义NUnit项目进行了测试,结果相同。

我来自API和测试项目的csproj是

diff csproj

我需要创建什么样的项目来像MS doc中那样测试Controller?

1 个答案:

答案 0 :(得分:2)

我注意到您没有将包含控制器的项目绑定到一个版本,而应该使用以下元素来绑定。

>>> Y = [1, 3, 4, 5, 2, 3, 4]; X = range(1, 8)

>>> model = sm.OLS(Y, X)

>>> results = model.fit()

>>> results.nobs, results.rsquared
(7.0, 0.16118421052631615)

您缺少该版本!

细节决定成败。 如果在更新此元素后收到不同的编译错误,则说明此问题已解决。