【问题标题】:Attribute defined test data with Nunit, AutoFixture, NSubstitute and AutoSubstituteDataAttribute使用 Nunit、AutoFixture、NSubstitute 和 AutoSubstituteDataAttribute 定义测试数据的属性
【发布时间】:2016-05-31 11:12:23
【问题描述】:

我喜欢使用属性定义测试的选项。但是,我一定做错了什么。我已经安装了软件包:

<packages>
  <package id="AutoFixture" version="3.46.0" targetFramework="net451" />
  <package id="AutoFixture.AutoNSubstitute" version="3.46.0" targetFramework="net451" />
  <package id="AutoFixture.NUnit3" version="3.46.0" targetFramework="net451" />
  <package id="NSubstitute" version="1.10.0.0" targetFramework="net451" />
  <package id="NUnit" version="3.2.1" targetFramework="net451" />
</packages>

单个替换参数经过:

[Theory, AutoSubstituteData]
public void Test_Single([Substitute] Service svc)
{
     // executed, shown as success
}

当混合替换和其他一些值失败时:

[Theory, AutoSubstituteData]
public void Test_Mixed(int version, string name, [Substitute] IService svc)
{
     // not executed, shown as inconclusive
}

属性:

public class AutoSubstituteDataAttribute : Ploeh.AutoFixture.NUnit3.AutoDataAttribute
{
    public AutoSubstituteDataAttribute()
        : base(new Fixture().Customize(new AutoConfiguredNSubstituteCustomization()))
    {
    }
}

测试输出显示:

NUnit 适配器 3.0.10.0:测试执行完成

测试适配器发回未知测试用例的结果。忽略 'Test_Mixed(150,"name04f0cd50-e89f-4a8f-db6-dab69b58e98e",Castle.Proxies.IServiceProxy)' 的结果。

我如何让它在 VS2015 或 NUnit 3x 中正常工作?

【问题讨论】:

  • 您可以使用 xUnit [v2] 吗?您会发现几乎可以正常工作的东西(和/或可以用谷歌搜索常见消息等)
  • @RubenBartelink ,我现在已经安装了 xunit,包括 xunit.runner.visualstudio 版本 2.1.0,重新启动 VS,重新编译。我添加的 XUnit 测试没有出现在测试资源管理器中。试图安装 xunit.runners,但它说不支持 net451。这听起来不像“正常工作”。我宁愿用 NUnit 来解决这个问题,版本 3 是一个相当不错的测试框架。
  • 很高兴你得到了排序; stackoverflow.com/questions/16214684/why-is-the-xunit-runner-not-finding-my-tests/16214704#16214704:P
  • 虽然我可以重现此问题,但它看起来像是 NUnit 3 Visual Studio 测试适配器的问题。如果我使用 NUnit 3 命令行运行程序运行这些测试,它们都会运行并通过。我可以建议您为 NUnit 3 Visual Studio 测试适配器提出问题吗?
  • @RobertCutajar-Robajz 我同意这可能是同一个问题,而且我还可以看到你在那里发帖,我认为这是个好主意 :)

标签: c# testing nunit autofixture nsubstitute


【解决方案1】:

(来自 cmets:)

这看起来像是 NUnit 3 Visual Studio 测试适配器的问题。如果我使用 NUnit 3 命令行运行程序运行这些测试,它们都会运行并通过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多