作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试此方法expectAsync2
,所以有一个问题:Why the async test passed, but there are some error messages displayed?
但是似乎我没有正确使用它。有没有expectAsync2
的好例子?
最佳答案
在所引用的问题中,expectAsync
仅用于保护异步调用,以使测试不会在new Timer(...)
调用完成之前结束。
您还可以添加提供方法必须多长时间(最小/最大)才能满足测试要求。
如果您经过测试的功能调用的方法具有多个参数,则可以使用`expectAsync2)
您提到的问题中的错误是,您对expectAsyncX
的调用也被延迟了。
必须在调用异步功能以注册必须调用的方法之前对expectAsyncX
进行调用。
library x;
import 'dart:async';
import 'package:unittest/unittest.dart';
class SubjectUnderTest {
int i = 0;
doSomething(x, y) {
i++;
print('$x, $y');
}
}
void main(List<String> args) {
test('async test, check a function with 2 parameters', () {
var sut = new SubjectUnderTest();
var fun = expectAsync2(sut.doSomething, count: 2, max: 2, id: 'check doSomething');
new Timer(new Duration(milliseconds:200), () {
fun(1,2);
expect(sut.i, greaterThan(0));
});
new Timer(new Duration(milliseconds:100), () {
fun(3,4);
expect(sut.i, greaterThan(0));
});
});
}
count
和
max
设置为
3
,则可以检查会发生什么。
关于unit-testing - 编写Dart单元测试时如何正确使用 `expectAsync2`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460073/
我正在尝试测试 httpRequest 返回后是否发生异步调用。 这是我的代码: ... var httpRequest = new HttpRequest(); httpRe
我是一名优秀的程序员,十分优秀!