Unit testing setUp()方法中的注入导致框架不等待将来完成
我正在测试AngularDart组件。我正在尝试获取模板并将其放入Unit testing setUp()方法中的注入导致框架不等待将来完成,unit-testing,dependency-injection,dart,angular-dart,Unit Testing,Dependency Injection,Dart,Angular Dart,我正在测试AngularDart组件。我正在尝试获取模板并将其放入setUp()方法中的TemplateCache。为此,我需要注入模板缓存。但是,setUp()中的注入使框架继续使用测试方法,而不是等待未来的完成。这里是一个简化的例子 导入'dart:async'; 导入“包:角度/角度.dart”; 导入“package:mock/mock.dart”; 导入“包:unittest/unittest.dart”; 导入“包:角度/模拟/测试_注入.dart”; 导入“package:angu
setUp()
方法中的TemplateCache
。为此,我需要注入模板缓存。但是,setUp()
中的注入使框架继续使用测试方法,而不是等待未来的完成。这里是一个简化的例子
导入'dart:async';
导入“包:角度/角度.dart”;
导入“package:mock/mock.dart”;
导入“包:unittest/unittest.dart”;
导入“包:角度/模拟/测试_注入.dart”;
导入“package:angular/mock/module.dart”;
进口“包装:di/di.dart”;
类MyTest{
静态main(){
组(“具有等待的未来的设置”,(){
设置((){
返回新的Future.value(“First”)。然后((u)=>print((u));
});
测试(“欢迎来到明天的世界!”,(){
印刷品(“第二份”);
});
});
组(“具有不等待的未来的设置”,(){
设置(注入((注入器注入){//注入导致测试不等待
返回新的Future.value(“First”)。然后((u)=>print((u));
}));
测试(“欢迎来到明天的世界!”,(){
印刷品(“第二份”);
});
});
}
}
在控制台中,您可以看到打印的消息:第一、第二、第二、第一
我想一定是注入
没有返回未来
。我还可以做些什么来让框架注入我需要的对象,并在setUp()
中等待未来的?这就是我需要的。错误是试图从inject
本身返回某些内容。其实就这么简单:
设置(){
// ...
注射((可注射可注射){
//在此处注入对象并将其保存在变量中
});
//使用变量
返回新的Future.value(“First”)。然后((u)=>print((u));
});
您调用的是什么inject
方法?你能添加你的导入吗?我明天才开始讨论代码,我几乎可以肯定它就是这个库:请做一个完整的例子来重现这个问题。