问题标签 [dart-unittest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dart - 如何在 Dart 中等待单元测试中的异步设置?
我的单元测试需要一个需要异步运行的设置。也就是说,我需要在运行测试之前等待设置完成,但设置处理的是 Futures。
dart - 异步代码的 UnitTest 示例
在以某种方式阅读了Dart 单元测试后,我仍然无法理解如何将它与Future
s 一起使用。
例如:
}); }
因此,在测试中,我创建了一个基本抽象类的实例,DatabaseBase
其中包含一些实际MongoDb类的参数,并立即检查它是否已创建。然后我只运行一些非常简单的函数:AddMessage
. 这个函数定义为:
并返回completer.future
。
如果传递message
为空,则该函数将失败完成者:.completeError('Message can not be null');
在实际测试中,我想测试是否Future
成功完成或有错误。所以以上是我尝试了解如何测试Future
返回 - 问题是这个测试没有失败 :(
您能否在答案中写一个小代码示例如何测试返回的函数Future
?在测试中我的意思是-有时我想测试返回(成功时)值,如果成功值不正确,则测试失败,而另一个测试应该失败,那么函数将失败Future
并进入onError:
阻塞。
dart - 如何使分析警告触发运行时失败
在以下示例中,允许main调用 Dog 上的嗅探函数,我希望它会以某种方式中断。如果我确切地说 Dog 可以做什么,但不知何故,客户端知道得更多,并且可以让对象利用这些特殊知识做更多事情——我认为这是封装泄漏。在一般情况下,我不一定希望它死掉,但是是否有一个标志或运行方式可以强制只调用存在的方法。我知道该语言支持错误的知识,因为 Dart 编辑器显示警告:未为类 'Dog' 定义方法 'sniff'。即使使用--checked标志运行,它也运行良好。
因此,假设测试调用了类似的代码。Dart 中是否有一个标志或某些代码导致它在测试运行时失败?
dart - 使用 content_shell --dump-render-tree 进行无头测试
我正在使用我的一个项目(标准 unittest htmlconfiguration)在我的 Kubuntu dart 开发框中尝试这个Gist,我没有看到用于测试的浏览器输出位,而是我得到了这个
那我做错了什么?
我正在使用的命令是
dart - 在 Dart unittest 包中,protectAsyncN 是如何工作的?
我真的不明白protectAsyncN 方法的目的。
有人可以解释一下它应该如何工作吗?例如,想象以下测试用例:
行为应该是什么?我希望这个测试用例能够通过,但是我收到以下消息:
我尝试过使用guardAsync,它按预期工作。但是,我真的不明白protectAsync。
有人可以解释一下它的用途和正确用法吗?非常感谢!
dart - 单元测试 Http 状态码
如何编写单元测试以返回作为 Future 一部分的响应的状态代码?在被卡住之前我已经走了这么远
这失败并显示消息
然后我尝试了
消息失败
dart - 单元测试完成后如何关闭 Dartium
单元测试完成(成功或失败)后,Dartium 浏览器保持打开状态。有没有办法从测试中关闭它?
unit-testing - 在 dart 中重构友好的 mocking
到目前为止,我在 dart 中看到的所有模拟库(unittest/mock、dartmocks)都使用字符串来表示方法调用。例如
问题是当我想重命名 fum 时,IDE 不会接收我的模拟方法调用,所以我必须手动更改它们。
任何人都知道任何与实际方法调用(foo.fum()
)一起工作的人吗?即类似于Java中的mockito等
dart - 模拟课程时发出警告
我正在阅读这篇文章 - https://www.dartlang.org/articles/mocking-with-dart/ - 关于使用 Dart 进行模拟,并且已经让这个简单的示例正常工作。
代码正确打印“BAR”,因此模拟显然有效。但 Dart 编辑器会生成警告/错误:
尽管有这个警告/错误,代码似乎工作,但我想摆脱错误。我怎么做?