Ich versuche, ein Projekt auf typisierte Schläger von Schläger zu konvertieren, und ich stoße Fehler mit funktionierenden Code wegen der Test-Engine.Getippter Racket-Fehler mit Check-Random
Ich habe es auf das kleinste Stück Code reduziert ich schaffen kann, dass das Problem reproduziert:
#lang typed/racket
; provides check-expect and others for testing
(require typed/test-engine/racket-tests)
(: bar (-> Positive-Integer Integer))
(check-random (bar 6) (random 6))
(define (bar x)
(random x))
(test)
Und die Fehler sind:
. Type Checker: type mismatch
expected: Pseudo-Random-Generator
given: Any in: (check-random (bar 6) (random 6))
. Type Checker: type mismatch
expected: Positive-Integer
given: Any in: (check-random (bar 6) (random 6))
. Type Checker: Summary: 3 errors encountered in:
(check-random (bar 6) (random 6))
(check-random (bar 6) (random 6))
(check-random (bar 6) (random 6))
Hat jemand irgendwelche Ratschläge, wie man repariere das? Ich möchte wirklich, wenn möglich, die Typprüfungsfunktionen verwenden können.
Dank
Danke für Ihre Hilfe. Die Dokumentation besagt, dass ich anrufen (testen) muss, weil ich keine der Unterrichtssprachen verwende und wenn ich es ohne (Test) versuchte, wurden die Tests nicht ausgeführt. Ich rate Rackunit erfordert nicht den (Test-) Prozeduraufruf. Ich werde das heute Abend testen. Ich tippe auf meinem iPhone. Entschuldigung für die Formatierung. Ihr Verfahren sieht so aus, als würde es meinen Bedürfnissen entsprechen. Vielen Dank. – querist
Es funktioniert wunderbar, außer jetzt kann ich nicht machen, um die andere Datei einzuschließen. Ich denke, ich muss die Tests in meiner Hauptquelldatei behalten. – querist
Ich bemerke, dass du 'include' schreibst ... wirst du angewiesen,' include' als Teil einer Aufgabe zu verwenden? Wenn nicht, willst du wahrscheinlich etwas wie 'require' verwenden, statt ... –