The class library extends xunit to assert equal.
It output data in F# style.
It's easier to customize the
equals.
使用系统默认的相等比较器:
openFSharp.xUnit[<Fact>]let``My test`` ()=
Should.equal 11相反的操作Should.notEqual。
使用自定义的相等比较器:
.\FSharp.xUnit.Test\CustomDataExample.fs
获得了should,我们就可以进行自定义的测试了,测试的方法和上面的差不多:
.\FSharp.xUnit.Test\Test.fs
相反的操作should.notEqual
Natural number sequence Theory is the simplest form of testing our theory with data.
typeNaturalAttributeTest(output: ITestOutputHelper)=[<Theory>][<Natural(4)>]member_.``Natural Number Sequence``(i:int)=letexpect=[0;1;2;3]letactual=[0;1;2;3]
Should.equal expect.[i] actual.[i][<Natural(4)>] is same as
[<Theory>][<InlineData(0)>][<InlineData(1)>][<InlineData(2)>][<InlineData(3)>]单参数数据源
SingleDataSource向构造函数提供一个键值对列表,成员dataSource提供给MemberData特性,索引属性提供不在参数表的额外数据。
使用方法:.\FSharp.xUnit.Test\SingleDataSourceTest.fs
多参数数据源
使用方法:.\FSharp.xUnit.Test\TupleDataSourceTest.fs
变长参数数据源
使用方法:.\FSharp.xUnit.Test\ArrayDataSourceTest.fs
openFSharp.xUnittypeMyArrays1()=inherit ClassDataBase([[|3;4|];[|32;42|]])typeClassDataBaseTest(output:ITestOutputHelper)=[<Theory>][<ClassData(typeof<MyArrays1>)>]member_.v1(a :int,b :int)= Assert.NotEqual(a, b)