如何测试嵌套路由器? (旧:如何使用PageLoader测试'<select>'元素?)

时间:2019-05-03 09:35:55

标签: angular-dart

每当用户更改     <已禁用选择的选项[ngValue] =“ nullLine”>-选择一个选项-        
  没有可用的线路!
lib / src / line / lines_component.dart: Future changeLine(线)=>       _router.navigate(_lineUrl(line.id)); 测试/lines_po.dart: @ByTagName('option') List 获取_lines; Future selectLine(var target)异步{   最后lineOpt =       _lines.firstWhere((line)=> line.visibleText == target.name);   等待lineOpt.click(); } 测试/lines.dart: void selectedLineTests(InjectorProbe进样器){   最终targetLine = Line(0,'Line 0'); // id = 0,name ='Line 0'   setUp(()异步{     等待po.selectLine(targetLine);     等待fix.update();   });   测试(已导航到详细信息,()异步{     最终的模拟位置= jector.get (PlatformLocation);     期望(         模拟位置。路径名,         RoutePaths.line             .toUrl(parameters:{idParam:'$ {targetLine.id}'})。toString()); //'/ lines / 0'   }); } 测试结果(从浏览器中的控制台): 预期:“ / lines / 0”     实际:”      哪个:不同。两个字符串都以相同的开头,但是实际值缺少以下结尾字符:/ lines / 0 更新: 问题似乎与路由器有关,而不是与

1 个答案:

答案 0 :(得分:0)

我必须导入父类Routes才能使测试有效:

测试/飞镖

import 'package:frontend/src/line/routes.dart';
import 'package:frontend/src/routes.dart' as parent_routes;

[...]

@Component(
  selector: 'test',
  template: '''
    <my-lines></my-lines>
    <router-outlet [routes]="[parent_routes.Routes.lines]"></router-outlet>
  ''',
  directives: [RouterOutlet, LinesComponent],
  exports: [parent_routes.Routes],
)
class TestComponent {
  final Router router;

  TestComponent(this.router);
}

我不知道这是否是正确的方法。欢迎发表评论!!!

相关问题
最新问题