Wie man Test C # Funktionen interaktiv mit F # Interactive
-
28-09-2019 - |
Frage
habe ich eine Reihe von statischen Hilfsmethoden einschließlich Unit-Tests. Aber ich mag eine interaktive Art und Weise haben, eine Prüfung zu verwenden -> Fixierung -> Kompilierung Zyklus (REPL) wie in Lisp oder Smalltalk, wo man sofort Code im interaktiven Modus ausführen kann. Ich habe versucht, F # Interactive zu testen, diese Methoden direkt aus dem geöffneten C # -Projekt in VS 2010 zu verwenden, aber ich habe es nicht zur Arbeit.
Ich weiß, dass ich die Versammlung (#r
Richtlinie) zu laden, den Namensraum öffnen und dann die Methoden aufrufen können (und überprüfen Sie das Ergebnis). Aber wie mache ich es in „F # Interactive“ in Visual Studio 2010? Ich weiß, es ist möglich, mit den „Sofort“ Fenstern in der Debug-Modus, aber ich will es in F # Interactive in „Design-Modus“ tun, wenn ich den Code mich schreibe.
Lösung
Sie müssen den Pfad zu einem Projekt gehören mit der #I
Richtlinie dann können Sie Ihre Assembly laden und zu verwenden. Ich schrieb dies eine einfache C # Konsole app versuchen und bekam dies zu arbeiten.
using System;
namespace ConsoleApplication1
{
public class Program
{
static void Main(string[] args)
{
PrintMessage();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
Console.WriteLine();
}
public static void PrintMessage()
{
Console.WriteLine("MESSAGE!");
}
}
}
Dann in F # interaktiv:
> #I "full path to debug directory";;
--> Added 'full path to debug directory' to library include path
> #r "ConsoleApplication1.exe";;
--> Referenced 'full path to debug directory\ConsoleApplication1.exe'
> open ConsoleApplication1;;
> Program.PrintMessage();;
MESSAGE!
val it : unit = ()
So ist es auf jeden Fall funktioniert, müssen Sie sich Ihre Projekte kompilieren. Denken Sie daran, zum Zurücksetzen der Sitzung lösen Ihre Montage vorher.