尝试创建URLHelper用于测试目的的NullReferenceException.
例子:
[Fact]
public async void AuthenticateAsyncTest()
{
// Arrange
var controller = new Controller(serviceProvider)
{
Url = new UrlHelper(new ActionContext()) // Exception thrown
};
// Act
var result = await controller.Authenticate() as ViewResult;
// Assert
Assert.NotNull(result);
}
每次我运行这个测试时,抛出的异常Url = new UrlHelper(new ActionContext())
是:
异常消息:
消息:System.NullReferenceException:对象引用未设置为对象的实例。
异常堆栈跟踪:
UrlHelperBase.ctor(ActionContext actionContext) ControllerUnitTest.AuthenticateAsyncTest()
使用:
xUnit 2.4.1、Microsoft.NETCore.App 2.2.0、Microsoft.AspNetCore.Routing.Abstractions 2.2.0
要重新创建异常:
创建一个空的 MVC core 2.2 解决方案
创建一个 xunit 测试项目
安装 NuGet Microsoft.AspNetCore.Mvc.Core 2.2.0
在测试中写入: var Url = new UrlHelper(new ActionContext());
运行测试
应该是这样的:
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Routing;
using Xunit;
namespace XUnitTestProject1
{
public class UnitTest1
{
[Fact]
public void Test1()
{
var Url = new UrlHelper(new ActionContext());
}
}
}
我的问题:
是否有错误,或者为什么这不起作用?
解决方法或链接的文献是否受到赞赏?
米脂
侃侃无极
相关分类