2012-05-31 17 views
5

ho scrivere del codice di prova dardo:Perché `#import (" dart: unittest ")` non può essere eseguito?

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

Non visualizza alcun errore di editor di dardo, ma quando si preme il pulsante "run", si riferisce:

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"); 
^ 

vedo lì è una libreria "dart: unittest" nel mio dart-sdk. Perché non può essere eseguito?

risposta

7

Sfortunatamente, la libreria unittest non è ancora collegata al dardo: namespace. Finché ciò non accadrà, se mai dovesse accadere, dovrai usare un percorso relativo per arrivare alla libreria unittest.

Qualcosa di simile:

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

Più esempi sono qui: http://api.dartlang.org/unittest.html

+1

Sicuramente spero di essere collegato (o diventare un pacchetto in pub), poiché lo stato attuale è solo strano. Davvero confuso e difficile spiegare alle persone perché è necessario utilizzare un percorso relativo/completo. –

+0

Concordato! Questo dovrebbe essere più coerente. –

+0

non è necessario per tutte le librerie del pacchetto (pkg) (args e così via)? Specialmente quando si esegue con Windows? –

0

Questa pagina continua a presentarsi nei risultati di Google per dart e unittest, così ho pensato di aggiungere un aggiornamento. La libreria unittest viene ora installata abbastanza facilmente tramite pub, il gestore di pacchetti di Dart. Per fare ciò, assicurarsi di:

controllare Add pub support quando si crea una nuova applicazione Dart. Quindi aggiungere (o decommentare) la dipendenza per il pacchetto unittest nel proprio file pubspec.yaml. Il file dovrebbe essere simile a questo:

name: range 
description: A sample application 

dependencies: 
    unittest: { sdk: unittest } 

Run pub install (anche se si utilizza Dart Editor, questo comando dovrebbe automaticamente ottenere funzionare per voi). Poi, nel file dove sarete scrivendo i test, aggiungere questa dichiarazione di importazione:

import "package:unittest/unittest.dart"; 

e si dovrebbe essere a posto.

Problemi correlati