我正在尝试在运行单元测试时使用自定义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
我确信我错过了一些简单的事情......
理查德
答案 0 :(得分:1)
只需使用正确的选择器
SelectElement selectAddTimezone = querySelector('#addNewTimezone');
应该是
SelectElement selectAddTimezone = querySelector('#selectAddTimezone');