gpt4 book ai didi

f# - 如何使用 Xunit 运行 FsCheck

转载 作者:行者123 更新时间:2023-12-02 09:23:15 24 4
gpt4 key购买 nike

您好,我正在尝试使用 xunit.runner.console 运行 FsCheck.Xunit 测试并收到以下异常:

Kata.TennisProperties.Given advantaged player when advantaged player wins score is correct [FAIL]
System.Reflection.TargetInvocationException : Exception has been thrown by the target of an invocation.
---- System.Exception : The type Kata.Tennis+Player is not handled automatically by FsCheck. Consider using another type or writing and registering a generator for it.
Stack Trace:
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

我正在尝试关注Mark Seemann's talk 。我的设置如下:

我有一个包含两个文件的库类型项目。一份包含要测试的代码,一份包含测试代码。该项目编译得很好。我没有使用 VS IDE,而只是使用带有 F# 的 Ionide 插件的 VSCode 文本编辑器。

我尝试过使用或不使用 FSharp.Core nuget 安装、使用或不使用 FSharp.Core 版本规范的各种设置。

知道去哪里进一步寻找吗?我已经没有想法了并且感到沮丧。我已经在这上面花了两天时间了。 :)

最佳答案

通过添加下面的 app.config 文件修复了此问题。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<Paket>True</Paket>
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

我之前这样做过,但使用 VSCode + Ionide 没有将配置文件添加到项目中。因此,非常重要的是,不要忘记将 app.config 文件也添加到项目中。仅在项目文件夹中创建文件是不够的。

关于f# - 如何使用 Xunit 运行 FsCheck,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40103046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com