【问题标题】:How to xUnit-Test in Rider? I'm getting error CS0246如何在 Rider 中进行 xUnit 测试?我收到错误 CS0246
【发布时间】:2018-06-21 18:26:35
【问题描述】:

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

除了我的 WPF 应用程序项目之外,我还在我的解决方案中创建了一个新的“单元测试项目”。 Rider 安装 xunitxunit.abstractionsxunit.assertxunit.corexunit.extensibility.corexunit.extensibility.execution。它还创建了一个Tests.cs 类,其中包含一个带有[Fact] 属性的Test1() 方法。问题是:它立即显示'Fact' is not an attribute

在构建时,会产生两个 [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?)

我不确定确切的英文翻译是什么,但我想你明白了。缺少哪些参考资料?这是 Rider 中的错误吗?

我也用 NUnit 尝试过,结果相似。

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

【问题讨论】:

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

标签: c# .net unit-testing xunit rider


【解决方案1】:
  1. 确保已安装 NuGet 包“xunit”和“xunit.runer.visualstudio”(应该已自动安装),并且正如 Jonathon Chase 所提到的,将 using XUnit; 添加到所有包含测试的文件的顶部。李>

【讨论】:

  • 应该是 using Xunit; 正如 Jonathon 所说...,而不是 using XUnit;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-07
  • 1970-01-01
  • 2019-11-18
相关资源
最近更新 更多