gpt4 book ai didi

unit-testing - 如何防止从使用dart中的ExpectAsync的单元测试进行?

转载 作者:行者123 更新时间:2023-12-03 04:30:46 25 4
gpt4 key购买 nike

我有一些单元测试,它们全部异步执行。但是事实证明,即使我在单元测试中多次调用ExpectAsync(有时这可能涉及到对ExpectAsync的多个嵌套异步调用),单元测试仍然会退出并调用tearDown方法,这实际上切断了我的工作。运行异步测试的基础架构。我想做的是让我的测试运行并等待所有期望(无论是否异步)都完成,然后再继续进行下一个测试。这有可能实现吗?我的单元测试一直通过的原因是因为tearDown中的清理代码也正在执行异步,但是理想情况下,它应该可以异步或立即清理。

最佳答案

我们需要查看您的代码才能查明确切的问题。

您很有可能没有足够地调用expectAsync。在您的代码等待异步回调的任何时间,必须至少有一个未完成的expectAsync函数正在等待调用。

通过创建一个在测试完成时调用的“完成”函数,可以将其全部缩减为一个expectAsync调用:

test("ladadidadida", () {
var done = expectAsync((){});
something.then((a) { return somethingElse(); })
.then((b) { expect(a, b); done(); })
});

关于unit-testing - 如何防止从使用dart中的ExpectAsync的单元测试进行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27072050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com