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