所以,我目前的Ember项目是使用Ember App Kit构建的.我的测试是使用精彩的httpRespond来模拟ajax请求.
但是,我已经开始注意到虽然httpRespond很棒,但您实际上只测试应用程序如何响应来自API的响应,而不是测试应用程序如何响应来自用户的交互.我猜的一个例子就是提交一个带有服务器端字段验证的表单.
使用httpRespond,您可以模拟响应,无论请求是什么样的,都会返回响应.因此,我基本上可以单击表单上的提交按钮,并成功提交表单,而无需填写任何字段.这感觉好像我们错过了什么.
进入Trek的Pretender.这有点像httpRespond的supeded版本.它看起来有点像模拟服务器,但只是像httpRespond一样嘲笑xhr.除非您在决定返回响应之前访问您可以检查的请求.
我很喜欢这个想法,我想用它.然而....
Pretender还没有Ember Testing意识到.httpRepond理解Ember的异步工作,并等待Ember中的异步事件完成后再进行测试.然而,伪装者还没有做到这一点.
例如,如果我单击我的Ember应用程序中的一个链接,该链接会启动一些不同的异步事件,我的测试将不会等待这些异步事件在继续之前完成,因此,测试在异步事件完成之前完成执行.
这让我想到了我的问题......
我们如何让Pretender Ember Testing意识到?
Trek已经提到这是他尚未做的事情,但我不确定他什么时候有时间去做.所以如果可能的话,我很乐意让它继续下去.
有没有人有任何想法如何尝试这个?
我在ember-cli-mirage方面取得了很大的成功。它位于伪装者之上,允许您创建用于开发的固定装置和用于测试的工厂。如果您或其他任何人仍然遇到问题,这是控制应用程序开发数据的一种非常简单的方法。
| 归档时间: |
|
| 查看次数: |
629 次 |
| 最近记录: |