gpt4 book ai didi

testing - 属性抛出 xUnit 和测试资源管理器

转载 作者:行者123 更新时间:2023-11-28 20:00:10 26 4
gpt4 key购买 nike

我试图通过阅读以下博客文章来了解如何设置和使用 FsCheck:

http://www.clear-lines.com/blog/post/FsCheck-2b-XUnit-3d-The-Bomb.aspx

我已经尽力模仿帖子中的整个过程,一切正常,直到出现以下代码:

namespace FSharpTests

open Xunit
open FsCheck
open FsCheck.Xunit
open CSharpCode

module Specification =

[<Property>]
let ``square should be positive`` (x:float) =
x * x > 0.

根据博文中的图片,这应该会导致测试资源管理器中的一个测试失败。然而,就我而言,我得到了这个:

Nothing

我试过稍微修改一下代码,看来 [<Property>] 属性是罪魁祸首。

下面的一段代码包含博客文章中的一些先前代码,如果取消对所述属性的注释,将运行良好,产生两个通过的测试,但否则不产生任何结果(见上图)。

namespace FSharpTests

open Xunit
open FsCheck
open FsCheck.Xunit
open CSharpCode

module Specification =

[<Fact>]
let ``length above 8 should be valid`` () =
let password = "12345678"
let validator = Validator ()
Assert.True(validator.IsValid(password))

[<Fact>]
let ``length under 8 should not be valid`` () =
let password = "1234567"
let validator = Validator ()
Assert.False(validator.IsValid(password))

//[<Property>]
let ``square should be positive`` (x:float) =
x * x > 0.

我做错了什么吗?是不是少了什么?

我目前正在运行......

  • Visual Studio Ultimate 2012 版本 11.0.61030.00 更新 4
  • F# 3.0(我猜..?我该如何准确检查它?)
  • FsCheck 0.9.4.0
  • FsCheck.Xunit 0.4.1.0
  • xUnit.net 1.9.2
  • 用于 Visual Studio 0.99.7 的 xUnit.net 运行程序

更新

我在另一台电脑上试过这个例子,结果是一样的。但是,我注意到错误列表中有一个警告,我没有注意到它也存在于我第一次尝试此操作的笔记本电脑上。

描述说:

Found conflicts between different versions of the same dependent assembly.

导航到警告的来源,在编辑器中打开 Microsoft.Common.targets,向我显示数千行难以理解的 XML 和 101 条进一步的警告。

如果我删除 FsCheck 包并关闭 Microsoft.Common.targets 文件,所有警告都会消失。我猜这个警告可能是为什么事情没有按预期工作的线索,不过我仍然不知道如何解决这个问题。

最佳答案

如果绑定(bind)重定向设置不正确,测试发现似乎会无提示地失败。这只花了我大约 3 个小时,所以我感到很痛苦。只需使用适当的重定向将 App.config 文件添加到您的测试项目。我不得不像这样重定向 FSharp.Core:https://github.com/fscheck/FsCheck/issues/151

关于testing - 属性抛出 xUnit 和测试资源管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24642026/

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