C# 如何在骑手中进行xUnit测试?I';我得到错误CS0246

C# 如何在骑手中进行xUnit测试?I';我得到错误CS0246,c#,.net,unit-testing,xunit,rider,C#,.net,Unit Testing,Xunit,Rider,我对C#是新手,更不熟悉C#中的单元测试。现在我想将单元测试添加到应用程序中,但我似乎无法在JetBrains Rider中完成: 除了WPF应用程序项目之外,我还在解决方案中创建了一个新的“单元测试项目”。Rider安装xunit,xunit.abstractions,xunit.assert,xunit.core,xunit.extensibility.core和xunit.extensibility.execution。它还创建了一个Tests.cs类,其中包含一个带有[Fact]属性的T

我对C#是新手,更不熟悉C#中的单元测试。现在我想将单元测试添加到应用程序中,但我似乎无法在JetBrains Rider中完成:

除了WPF应用程序项目之外,我还在解决方案中创建了一个新的“单元测试项目”。Rider安装
xunit
xunit.abstractions
xunit.assert
xunit.core
xunit.extensibility.core
xunit.extensibility.execution
。它还创建了一个
Tests.cs
类,其中包含一个带有
[Fact]
属性的
Test1()
方法。问题是:它会立即表示“事实”不是属性

构建时,会产生两个[CS0246]错误:

Tests.cs(8, 10): [CS0246] Der Typ- oder Namespacename "Fact" wurde nicht gefunden (fehlt eine using-Direktive oder ein Assemblyverweise?)
Tests.cs(8, 10): [CS0246] Der Typ- oder Namespacename "FactAttribute" wurde nicht gefunden (fehlt eine using-Direktive oder ein Assemblyverweise?)
我不确定确切的英文翻译是什么,但我想你明白了。缺少哪些参考资料?这是《骑士》中的一只虫子吗

我也用NUnit试过,结果也差不多

除此之外:要自动检测测试,我是否需要遵循任何文件结构或命名约定

  • 确保安装了NuGet软件包“xunit”和“xunit.runer.visualstudio”(应该已经自动安装),并且正如Jonathon Chase提到的那样,使用xunit添加
    到包含测试的所有文件的顶部

  • 使用Xunit添加
    到Test.cs文件的顶部。如果您将带有错误的项目悬停并查看建议的修复(即单击出现的灯泡),Rider应该能够为您执行此操作。这已经自动存在,但没有任何帮助。Rider没有给出错误建议。Rider的版本?您的目标.Net版本是什么?您是否打开了NuGet(Alt-7)选项卡并确保还原软件包?经过数小时的独立查看,我在这里发布问题5分钟后得到了解决方案:我的应用程序的目标是.NET 4.0。我还正确地将xUnit框架设置为4.0。尽管通过安装旧的xunit软件包尊重了这一点,但该模板似乎与.NET4.0不完全兼容。在我的虚拟项目中将目标框架更改为.NET4.5之后,一切都很好。不幸的是,我现在不能在我的生产项目上这样做。为了使它在4.0中工作,我需要更改什么?Rider版本为2018.1.2,应使用Xunit
    正如Jonathon所说…,而不是
    使用XUnit