Próbuję napisać kilka testów NUnit w F # i problemy z przekazaniem funkcji do ThrowsConstraint
. Próbka destylowana (nie) działająca jest poniżej.Jak przekazać funkcję do NUnit Throws Constraint?
open System.IO
open NUnit.Framework
[<TestFixture>]
module Example =
[<Test>]
let foo() =
let f = fun() -> File.GetAttributes("non-existing.file")
Assert.That(f, Throws.TypeOf<FileNotFoundException>())
To kompiluje dobrze, ale pojawia się następujący z NUnit testu biegacza:
FsTest.Tests.Example.foo:
System.ArgumentException : The actual value must be a TestDelegate but was [email protected]
Parameter name: actual
ile jestem w stanie obejść ten problem przy użyciu atrybutu ExpectedException
, moje pytanie brzmi, jaka jest poprawna sposób korzystania z funkcji F # w tej sytuacji?
Wielkie dzięki za wyjaśnienie. –
Fajnie, to dobre rozwiązanie, ponieważ w F # (VS 2010) podejście do atrybutów nie działało dla mnie (próbowałem zaznaczyć metodę testową z atrybutem ExpectedException i to w ogóle nie działało) Dzięki! – Roboblob