在运行单元测试时使用自定义html

时间:2016-07-14 09:06:39

标签: dart

我正在尝试在运行单元测试时使用自定义HTML页面。我按照https://github.com/dart-lang/test#running-tests-with-custom-html

上列出的说明进行操作

我的测试代码(在文件test / custom_html_test.dart中)看起来像

@TestOn( 'browser')

import 'dart:html';
import 'package:test/test.dart';

main( ){
  test( "find select", (){
    SelectElement selectAddTimezone = querySelector('#addNewTimezone');
    expect( selectAddTimezone, isNotNull);
  });
}

和html页面(在文件test / custom_html_test.html中)看起来像

<!doctype html>
<!-- custom_html_test.html -->
<html>
  <head>
   <title>Custom HTML Test</title>
   <link rel="x-dart-test" href="custom_html_test.dart">
   <script src="packages/test/dart.js"></script>
  </head>
  <body>
    <select id="selectAddTimezone"></select>
  </body>
</html>

我使用以下命令运行测试

  

pub run test -p dartium test \ custom_html_test.dart

Dartium启动并加载页面&#39;测试浏览器主机&#39; 以运行测试 - 由于代码未找到selectAddTimezone元素而导致测试失败,而不是我提供的自定义html

我确信我错过了一些简单的事情......

理查德

1 个答案:

答案 0 :(得分:1)

只需使用正确的选择器

SelectElement selectAddTimezone = querySelector('#addNewTimezone');

应该是

SelectElement selectAddTimezone = querySelector('#selectAddTimezone');