微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

F#无法从TestFixtureSource和具有多个参数构造函数的类创建NUnit测试

如何解决F#无法从TestFixtureSource和具有多个参数构造函数的类创建NUnit测试

我是F#的新手,我想知道是否有可能(取消使用NUnit)以某种类似的构造在其构造函数中构造一个测试类多个参数-最终得到 信息: OneTimeSetUp:找不到合适的构造函数

clf = KerasClassifier(model_arch,n_features=3,epochs=10)

由于删除一个参数(例如text2)并具有适当的一参数TestFixtureSource,它开始起作用...

所以问题是如何编写NUnit测试以与具有多个参数的TestFixtureSource一起使用?

TIA, 莫伊米尔

解决方法

文本夹具源的单个项应该是对象数组或从TestFixtureParameters类(NUnit documentation)派生。但是元组不是对象数组-它是单个对象。因此,更改source属性以返回IEnumerbale个数组(或数组):

type SimpleFixtureArgs =
    static member Source = seq {
        [| String.Empty; String.Empty|]
        [| "hello"; "hello"|]
    }
,

稍后,我需要处理不同类型的参数。 上一个答案在F#中有一些稍微修改过的代码,对我有用。

    type SimpleFixtureArgs2 =
    static member Source : seq<obj []> =
        seq {
            yield [| String.Empty; String.Empty; 1; 1 |]
            yield [| "hello"; "hello"; 2; 2 |]
        }

[<TestFixtureSource(typeof<SimpleFixtureArgs2>,"Source")>]
type ``simple tests2 class``(text1,text2,num1,num2) =
    [<Test>]
    member this.``simple strings and integers test``() =
        let expextedText = text1
        let actualText = text2
        Assert.AreEqual(expextedText,actualText)

        Assert.AreEqual(num1,num2)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?