【问题标题】:How to unit test Asp.net core WebAPI (net452) project?如何对 Asp.net 核心 WebAPI (net452) 项目进行单元测试?
【发布时间】:2016-11-08 15:14:48
【问题描述】:

我目前有一个 Asp.net Core Web.Api 项目。
它(仅)针对 net452 框架。
问题是:如何对 asp,net core WebAPI (net452) 项目进行单元测试?

我已经尝试在我的解决方案中添加一个经典的 .net 单元测试项目,并引用我的 web.api 核心项目。 出于某种原因,我无法在我的 webapi 项目中声明(引用)任何类。 由此,我得出结论,我不能使用经典的单元测试项目来测试我的 Asp.net 核心项目。

在我的 project.json 中:

 "frameworks": {
   "net452": {}
   }
}

这就是我的解决方案的样子:

在我的测试类中:

[TestClass]
public class ActiveDirectoryClientProviderTests
{
    [TestMethod]
    public async Task Get_Should_Return_Client()
    {
        //var settings = new ActiveDirectorySettings();
        Ng2Aa_demo.Domain.Avatar.GetAvatarByUserHandler
    }
}

【问题讨论】:

    标签: unit-testing asp.net-core


    【解决方案1】:

    您可以使用 xUnit 或 NUnit,两者都适用于 .Net 核心。

    这里有一个关于如何创建单元测试项目的教程:https://docs.microsoft.com/en-us/dotnet/articles/core/testing/unit-testing-with-dotnet-test

    您基本上是创建一个 .Net 核心类库,导入 xUnit 或 NUnit 库并设置单元测试运行器。

    使用 xUnit 的项目 json 示例:

    {
      "version": "1.0.0-*",
      "testRunner": "xunit",
    
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type":"platform",
          "version": "1.0.0"
        },
        "xunit":"2.1.0",
        "dotnet-test-xunit": "1.0.0-rc2-192208-24",
        "PrimeService": {
          "target": "project"
        }
      },
      "frameworks": {
        "netcoreapp1.0": {
          "dependencies": {
            "Microsoft.NETCore.App": {
              "type": "platform",
              "version": "1.0.0"
            }
          },
          "imports": [
            "dotnet5.4",
            "portable-net451+win8"
          ]
        }
      }
    }
    

    取自here

    【讨论】:

      【解决方案2】:
      1. 首先您需要添加另一个核心项目

      2. 在您的 project.json 中 添加 2 个依赖项并指定 testRunner。 确保使用 Xunit !!

      "xunit": "2.2.0-beta2-build3300",
      "dotnet-test-xunit": "2.2.0-preview2-build1029"
      

      现在您可以使用 xunit 对您的 web api 核心项目进行单元测试!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-09
        相关资源
        最近更新 更多