我创建了一个ASP.NET Core 6 MVC Web应用程序。生成成功,项目中没有任何错误。
在同一个解决方案中,我创建了一个xUnit测试项目,你可以看到下面的文件夹结构:
单元测试文件代码为:
using Microsoft.AspNetCore.Mvc;
using NetCoreMvcWebApp.Controllers;
namespace TestMvcApp
{
public class UnitTest1
{
[Fact]
public void Test1()
{
HomeController h = new HomeController(null);
var res = (ViewResult)h.Index();
var outdata = res.ViewData["SomeData"];
Assert.IsType<DateTime>(outdata);
}
}
}
添加了ASP.NETCoreMVC Web应用程序作为测试项目依赖项的项目引用。
当我构建解决方案或测试项目时,我得到这些错误,代码文件中没有任何曲线:
错误CS0246
找不到类型或命名空间名称“Fact”(是否缺少using指令或程序集引用?)NetCoreMvcWebApp
错误CS0246
找不到类型或命名空间名称“FactAttribute”(是否缺少using指令或程序集引用?)NetCoreMvcWebApp
错误CS0579
重复的“global::System.Versioning.TargetFrameworkAttribute”属性NetCoreMvcWebApp
如何解决这些错误?
1条答案
按热度按时间nbysray51#
在根项目中运行“dotnet restore”,现在Xunit在测试项目中被识别。
或者解决方案的关键是让所有安装的xunit包都具有相同的版本。--如果NuGet上只有少数更新可用,请等待所有xunit软件包都可用于同一版本。