【发布时间】:2026-02-10 20:35:01
【问题描述】:
我想使用最新版本的 NUnit、FsCheck 和 F#。 但是,当我指向我的包的最新版本时,我的单元测试不会被发现。
但是,我的基于属性的测试被发现(即 FsCheck)。
我的包裹如下:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FsCheck" version="2.4.0" targetFramework="net461" />
<package id="FsCheck.Xunit" version="2.4.0" targetFramework="net461" />
<package id="FSharp.Core" version="4.0.0.1" targetFramework="net461" />
<package id="FsUnit" version="2.2.0" targetFramework="net461" />
<package id="NUnit" version="3.2.1" targetFramework="net461" />
<package id="xunit.abstractions" version="2.0.0" targetFramework="net461" />
<package id="xunit.extensibility.core" version="2.1.0" targetFramework="net461" />
<package id="xunit.extensibility.execution" version="2.1.0" targetFramework="net461" />
<package id="xunit.runner.visualstudio" version="2.1.0" targetFramework="net461" />
</packages>
我的 app.config 如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="nunit.framework" publicKeyToken="96d09a1eb7f44a77" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9999.9999.9999.9999" newVersion="3.2.1" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
【问题讨论】:
-
我不知道。恕我直言,但您似乎仍在为基本的 F# 问题苦苦挣扎,但可能是您对 C# 和 .NET 的了解阻碍了您的工作。也许 Haskell 会给你一个重新开始的机会。也许它对你会更好,但就个人而言,我仍然觉得学习 Haskell 很难。再说一次,我认为我也没有选择最简单的方法......
-
致似乎对 Scott 的所有问题都投了反对票的匿名投反对票者:如果您觉得他的问题不好,请告诉他您为什么这么认为。在没有进一步反馈的情况下投反对票让他很难改进。
-
感谢您的诚实。老实说,我仍在寻找这些概念开始对我产生影响的练习和/或项目。在那之前,我想我会在空闲时间继续练习基础知识。
-
我不认为 Haskell 一定比 F# 难,只是不同而已。这样做的好处是你不会依赖 OO 拐杖,坏事是它会很快引入很多新概念。我会说,如果你有兴趣,那就去吧。我与 Haskell 专家相去甚远,但我认为它是一门很棒的语言,尤其是作为 F# 开发的灵感来源。