unit testing - How to test Dart Polymer elements using the new Test library? -
how test polymer elements using new test library?
using new test library test dart polymer element, build my_element_test.html
as prescribed. please see repo: polymer-dart-testing.
no polymer initiation passes
my_element_test.html
, my_element_test.dart
(commenting out polymer initiation) passes tests expected:
my_element_test.html
<!doctype html> <html> <head> <title>my element test</title> <link rel="import" href="packages/polymer_dart_testing/my_element.html"> <link rel="x-dart-test" href="my_element_test.dart"> <script src="packages/test/dart.js"></script> </head> <body> <div>custom html test custom.</div> <my-element></my-element> </body> </html>
my_element_test.dart
import 'package:test/test.dart'; import 'package:polymer_dart_testing/my_element.dart'; import 'package:polymer/polymer.dart'; import 'dart:html'; main() { setup(() async { // await initpolymer(); // return await polymer.onready; }); test('custom_html_test', (){ expect(true, istrue); }); }
loading in dartium without pub run test...
passes in console , shows custom element, after adding test/my_element_test.html
polymer entry point in pubspec.yaml
.
pubspec.yaml
transformers: - polymer: entry_points: - web/index.html - test/my_element_test.html
my_element_test.html
<!doctype html> <html> <head> <title>my element test</title> <link rel="import" href="packages/polymer_dart_testing/my_element.html"> </head> <body> <div>custom html test custom.</div> <my-element></my-element> <script type="application/dart" src="my_element_test.dart"></script> </body> </html>
my_element_test.dart
import 'package:test/test.dart'; import 'package:polymer_dart_testing/my_element.dart'; import 'package:polymer/polymer.dart'; import 'dart:html'; main() { setup(() async { await initpolymer(); return await polymer.onready; }); test('custom_html_test', (){ expect(true, istrue); }); }
however, pub run test...
fails when initiating polymer , adding pubspec
entry point.
$ pub serve loading source assets... loading polymer , test/pub_serve transformers... serving polymer_dart_testing web on http://localhost:8080 serving polymer_dart_testing test on http://localhost:8081 build completed ... ... /my_element_test.html.polymer.bootstrap.dart.browser_test.dart → not find asset polymer_dart_testing|test/my_element_test.html.polymer.bootstrap.dart.browser_test.dart.
$ pub run test --pub-serve=8081 -p content-shell "pub serve" compiling test/my_element_test.dart... 00:00 +0: load error 00:00 +0 -1: load error failed load "test/my_element_test.dart": failed load script @ http://localhost:8081/my_element_test.html.polymer.bootstrap.dart.browser_test.dart. 00:00 +0 -1: tests failed.
the annotation @whenpolymerready
on main()
missing. test transformer (explained in readme.md of test package) should added transformer section in pubspec.yaml.
Comments
Post a Comment