首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用FsCheck生成记录

使用FsCheck生成记录
EN

Stack Overflow用户
提问于 2019-10-29 21:05:59
回答 1查看 519关注 0票数 3

我想使用FsCheck (与XUnit一起)创建类型的记录:type QueryRequest = {Symbol: string; StartDate: DateTime; EndDate: DateTime},其中Symbol仅限于3种选项-- ORCLIBMAAPLStartDateEndDate限制在2000年1月1日和2019年1月1日E 210之间。

然而,我不清楚如何进行。我是否应该使用Arb.generate<T>Arb.Default或其他一些实用程序来建立测试用例的生成和收缩?

更新1

与问题生成记录有关的后续问题是可用的here

原件:{符号=“StartDate = 8/9/2057 4:07:10 AM EndDate = 10/14/2013 6:15:32 PM }收缩:{符号=”StartDate = 8/9/2057 12:00 AM EndDate = 10/14/2013 12:00 AM }

更新2

以下是测试套件代码:

代码语言:javascript
复制
namespace Parser

open Xunit
open FsCheck.Xunit
open DataGenerators

module Tests =
    [<Fact>]
    let ``sanity check`` () =
        let expected = true
        let actual = true
        Assert.Equal(expected, actual)

    [<Property(Arbitrary = [|typeof<StockTwitGenerator>|])>]
    let ``validate queries`` (q: QueryRecord) =
        q.EndDate > q.StartDate
EN

回答 1

Stack Overflow用户

发布于 2019-10-29 21:44:57

Arb.filter对给定的任意实例的生成器和收缩器进行筛选,使其只包含与给定筛选器函数匹配的值。这应该能帮助你满足你的需要。

https://fscheck.github.io/FsCheck/TestData.html#Useful-methods-on-the-Arb-module https://github.com/fscheck/FsCheck/blob/master/src/FsCheck/ArbitraryExtensions.fs#L17-17

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58615430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档