2012-05-31 6 views
5

Ich schreibe einige Dart-Test-Code:Warum `#import (" dart: unittest ")` kann nicht ausgeführt werden?

#import("dart:unittest"); 
main() { 
    test('this is a test',() { 
    int x = 2+3; 
    expect(x).equals(5); 
    }); 
} 

Es sind keine Störungen in Dart Editor nicht angezeigt wird, aber wenn ich die "run" Taste drücken, meldet er:

Do not know how to load 'dart:unittest''file:///home/freewind/dev/dart/editor 
/samples/shuzu.org/test/model_test.dart': 
Error: line 1 pos 1: library handler failed 
#import("dart:unittest"); 
^ 

ich dort sehen ist eine "dart: unittest" -Bibliothek in meinem Dart-SDK. Warum kann es nicht ausgeführt werden?

Antwort

7

Leider ist die Unittest-Bibliothek noch nicht in den Dart: Namespace verdrahtet. Bis es soweit ist, müssen Sie einen relativen Pfad verwenden, um zur Unittest-Bibliothek zu gelangen.

Etwas wie:

#import('path-to-dart/lib/unittest/unitest.dart'); 

Weitere Beispiele sind hier: http://api.dartlang.org/unittest.html

+1

Ich hoffe sicherlich, dass ich verdrahtet (oder wird ein Paket in der Kneipe), wie der aktuelle Zustand ist nur zu seltsam. Wirklich verwirrend und schwer zu erklären, warum man einen relativen/vollständigen Pfad verwenden muss. –

+0

Einverstanden! Dies sollte konsistenter sein. –

+0

ist dies nicht für alle Paket (Pkg) Bibliotheken (Args und so weiter) erforderlich? Speziell, wenn Sie mit Windows arbeiten? –

0

Diese Seite dient zur dart und unittest in Google Suchergebnissen zeigt sich hält, so dass ich dachte, dass ich ein Update hinzufügen würde. Die unittest Bibliothek ist jetzt ganz einfach durch pub, Dart Paket-Manager installiert. Stellen Sie dazu sicher, dass Sie:

überprüfen Sie Add pub support, wenn Sie eine neue Dart-Anwendung erstellen. Fügen Sie dann die Abhängigkeit für das unittest-Paket in Ihrer pubspec.yaml-Datei hinzu (oder entfernen Sie das Kommentarzeichen). Diese Datei sollte wie folgt aussehen:

name: range 
description: A sample application 

dependencies: 
    unittest: { sdk: unittest } 

Run pub install (obwohl, wenn Sie Dart Editor verwenden, dieser Befehl automatisch für Sie fahren werden sollte). Dann wird in der Datei, in der Sie Ihre Tests schreiben wird, fügen diese Einfuhranmeldung:

import "package:unittest/unittest.dart"; 

Und Sie sollten gut zu gehen.