使用Xunit使用F#执行测试列表

时间:2015-08-06 20:16:00

标签: c# .net testing f# xunit

我使用Xunit在F#中执行多个测试,使用visual studio作为我的IDE,具有相同的形式。例如,这里有一个可能执行的测试的例子,

let add x y = x + y
//Now we want to test this
[<Fact>]
let test1() = 
    Assert.True(add 0 1 = 1 , "userMessage")

[<Fact>]
let test2() = 
    Assert.True(add 1 1 = 2 , "userMessage")

[<Fact>]
let test1() = 
    Assert.True(add 1 2 = 3 , "userMessage")

也许还有更多。

这有点重复,所以我决定写下面的内容,

let listOfTests = 
    [
       0  ,  1  ,  1  ,  "userMessage"
       1  ,  1  ,  5  ,  "userMessage" //this should fail
       1  ,  2  ,  6  ,  "userMessage" //this should also fail
    ] 

 let testMaker (in1 , in2 , out , mess)
     let truth = add in1 in2 = out
     Assert.true(truth , mess)

[<Fact>] //I think that this might be where I need to make changes?? 
let runTests()=
    List.map testMaker listOfTests
    |>ignore

这种的工作方式是执行测试,但是当我运行runtests()时,只有第一个失败的测试出现在我的测试资源管理器中,而不是第二个应该失败的测试。我看过一些关于理论的代码,但是代码主要用C#编写,我在翻译时遇到了一些麻烦。我试过用,      []      []

作为属性而不仅仅是“类型理论没有定义”。同样适用于PropertyData。

0 个答案:

没有答案