私はF#でいくつかのNUnitテストを書こうとしており、関数をThrowsConstraint
に渡すことに問題があります。蒸留された(非)作業サンプルは以下の通りです。関数を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>())
これはうまくコンパイルが、私はNUnitのテストランナーから次を得る:
FsTest.Tests.Example.foo:
System.ArgumentException : The actual value must be a TestDelegate but was [email protected]
Parameter name: actual
私はExpectedException
属性を使用して問題を回避することができるよ一方で、私の質問が正しいものですこのような状況でF#関数を使用する方法は?
説明をいただきありがとうございます。 –
F#(VS 2010)属性のアプローチが私のために働いていなかったので、良い解決策です(ExpectedException属性のテストメソッドをマークしようとしましたが、全く動作しませんでした) ありがとう! – Roboblob