如何解决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 举报,一经查实,本站将立刻删除。