当前位置: 首页 > 知识库问答 >
问题:

F#UnitTest项目中的AutoFixture不在测试资源管理器中显示单元测试

暴向笛
2023-03-14

我安装了Visual Studio 2012项目和以下NuGet软件包:

  • 使用Moq进行自动模拟的自动夹具
  • 使用XUNIT.NET数据理论自动安装
  • 自动夹具
  • 最小数量
  • xunit.net:扩展
  • xunit.net:Runners
  • xunit.net
namespace FUnit

type public ILoggerContext =
    abstract member LogPath :string

type public LoggerContext (logPath :string) =
    member val LogPath = logPath with get, set

    interface ILoggerContext with
        member this.LogPath = this.LogPath

type public Logger () =
    member this.Log (context: ILoggerContext) value =
        System.String.Format("Logged {0} to {1}.", value, context.LogPath)
namespace FUnit.Test

open FUnit

type public Math_Add() = 

    [<Xunit.Extensions.Theory>]
    [<Ploeh.AutoFixture.Xunit.AutoData>]
    member this.``Should Output Value And Path`` (path :string) =
        let context = new LoggerContext(path)
        let logger = new Logger()

        let expected = System.String.Format("Logged value to {0}.", path)
        let actual = logger.Log context "value"

        Xunit.Assert.Equal<string>(expected, actual)

共有1个答案

姜学海
2023-03-14

我认为这是ploeh.autofixture.xunit和测试运行程序使用的xunit.extensions版本冲突的问题。

如果您使用XUnit的运行程序运行测试,那么您将看到一个异常,抱怨找不到xunit.extensions的特定版本。

您可以通过将绑定重定向添加到测试项目app.config来修复此问题。因为您使用的是NuGet,所以可以通过在测试项目的包管理器控制台中运行它来生成绑定重定向。

Add-BindingRedirect

重建项目后,您应该会看到VS test Explorer中出现的测试。

 类似资料:
  • 我正在尝试使用xUnit2和自动修复在F#中编写一些单元测试,但我遇到了一个问题。我有一个带有自定义属性的理论,该理论继承自内联自动数据,测试资源管理器一直告诉我没有找到测试。如果我将“理论”属性替换为“事实”属性,它仍然不起作用,但是如果我删除自定义 InlineData 属性,则会发现测试。测试是用 F# 编写的,但在另一个项目的 C# 中是用 C# 编写的。 我发现了这个StackOverf

  • 在将.NET标准库添加到.NET framework 4.6.1 web api 2项目后,测试资源管理器中没有显示任何测试。(我正在使用MSTest) null 已将.NET标准库添加到我的webapi 2项目(项目A) 遵循这篇microsoft文章(最后一步),启用了web应用程序中的自动绑定重定向 这在主web.config和单元测试项目的app.config中添加了大量程序集重定向。 在

  • 我目前正在开发一个解决方案,该解决方案目前有32个UnitTests。我一直在和resharper测试跑步者一起工作--它工作得很好。所有测试都在运行,所有测试都显示了正确的测试结果。 但是,在使用Visual Studio测试资源管理器时,测试不会运行。 Test Explorer将显示所有单元测试,但是一旦单击“Run all”,所有测试都将变灰,并且不显示测试运行的结果: 所有测试类都是公共

  • 我更新了我的 Visual Studio 社区 2015(更新 3),它根本没有显示我的项目的单元测试!我试图重新安装VS,它没有改变任何东西,它还向我们显示消息“连接的服务包失败”(我不知道它是什么)。而且我无法找到如何从他们愚蠢的网站上下载旧版本的Visual Studio。我在他们的社区问了这个问题,没有人回答。帮帮我!没有测试,我就无法工作!!!

  • 突然,我的project explorer窗口从Eclipse中消失了。我尝试选择Windows>显示视图>项目资源管理器,但没有任何结果。我能做什么?

  • 我已经尝试了几种方法,但从未进行过测试。在我点击build之后,我已经使用Nunit编写了一个测试,我不确定我需要做什么。