Ich habe eine Bibliothek, die CanvasElement
verwendet und daher von dart:html
abhängig ist. Jetzt versuche ich, Unit-Tests für dieselbe Bibliothek zu schreiben. Allerdings erhalte ich den folgenden Fehler beim Versuch, sie auszuführen:
Die eingebaute Bibliothek 'dart:html' ist im eigenständigen VM nicht verfügbar.
So sieht meine Testdatei aus:
library PiflexUmlTest;
import 'package:PiflexUml/lib.dart';
import 'package:unittest/unittest.dart';
part 'src/geometry/vector_test.dart';
main () {
testVector();
}
Ich verstehe, dass es fehlschlägt, weil die Bibliothek selbst in der Datei lib.dart
eine Zeile hat, die besagt:
library PiflexUml;
// ....
import 'dart:html';
part "blahblah.dart";
part "something_else.dart"
// ....
Auch wenn die Bibliothek selbst davon abhängig ist, versuche ich nicht, eine Klasse zu testen, die etwas mit HTML zu tun hat.
Was sind meine Lösungen hier? Gibt es eine Möglichkeit, nur die Klassen zu importieren, die ich testen möchte, ohne die gesamte Bibliothek zu importieren? Oder muss ich meine Bibliothek in einen HTML-abhängigen Teil und einen nicht-HTML-abhängigen Teil aufteilen?