Ich versuche, unquote mit NUnit als Test Runner zu verwenden. Der Testfall wird aus Getting Started genommen und wie erwartet funktioniert, wenn sie außerhalb von NUnit laufen:MissingMethodException bei Verwendung von Unquote behauptet
namespace FsTest.Tests
open NUnit.Framework
open Swensen.Unquote
[<TestFixture>]
module Example =
[<Test>]
let foo() =
test <@ (1+2)/3 = 1 @>
Unter NUnit bekomme ich diese Ausnahme:
FsTest.Tests.Example.foo: System.MissingMethodException: Methode nicht gefunden: 'System.Tuple
2<Microsoft.FSharp.Collections.FSharpList
1, Microsoft.FSharp.Quotations.FSharpExpr> Internal.reduceFullyAndGetLast (Microsoft.FSharp.Quotations.FSharpExpr)'.
Ich würde gerne wissen, ob irgendetwas mit dem Code oben falsch ist und wie ich es zum Laufen bringen könnte. Unquote's raise
scheitern für mich auf die gleiche Weise, wenn das hilft.
Können Sie bitte klarstellen, was Sie mit "außerhalb von NUnit" und "Unter NUnit" meinen? Dieses Problem ähnelt http://stackoverflow.com/q/7828852/236255 mit Ausnahme des GUI-Testlaufers xUnit.net, bei dem der OP gelernt hat, dass er auf die falsche Version von FSharp.Core.dll –
* "run outside" verwiesen hat of NUnit "* bedeutet die Verwendung von F # Interactive oder einer Befehlszeilenanwendung von derselben Lösung; * "Unter NUnit" * bedeutet, dass Sie einen NUnit 2.6.2-GUI-Runner auf Lager verwenden, der als Zip-Datei heruntergeladen wurde. FScharp.Core.dll wird von der Testassembly referenziert: ''. Das Ganze ist VS 2012 Targeting .NET 4.5. –