我目前有一个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
}
}
答案 0 :(得分:3)
您可以使用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
答案 1 :(得分:0)