我正在开始一个新的 ASP.net vNext / MVC6 项目,我想使用 xUnit 来测试它。
对于 DNX 项目,我已按照xUnit 网站上的说明进行操作。
当我尝试使用内置运行程序或 ReSharper 在 Visual Studio 中运行测试时,我收到以下错误消息:
如果我尝试从命令行运行测试,我会得到:
xUnit.net DNX Runner(32 位 DNX 4.5.1) 发现:TA.Product.Tests 发现:TA.Product.Tests 开始:TA.Product.Tests TA.Product.Tests.Class1.FactMethodName [失败] System.NullReferenceException :对象引用未设置为对象的实例。 堆栈跟踪: D:\VS-Projects\TA.Product\src\TA.Product.Tests\Class1.cs(25,0):在 TA.Product.Tests.Class1.FactMethodName() 完成:TA.Product.Tests === 测试执行总结 === TA.Product.Tests Total: 1, Errors: 0, Failed: 1, Skipped: 0, Time: 2.216s
这是我的project.json
文件:
{
"version": "1.0.0-*",
"description": "TA.Product.Tests Class Library",
"authors": [ "Tim" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"dependencies": {
"TA.Product": "1.0.0-*",
"xunit": "2.1.0",
"xunit.runner.dnx": "2.1.0-rc1-build204"
},
"commands": {
"test": "xunit.runner.dnx"
},
"frameworks": {
"dnx451": { },
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
}
}
我发现了这个问题,我的 xUnit runner 版本似乎与我的 DNX 版本 RC1-Update1 匹配。
我还发现这个问题说我的测试必须是公开的,而且确实如此。
一个想法,好吗?