testing - Ember QUnit 模块用于(测试)适配器检索存储

标签 testing ember.js ember-cli ember-qunit

我正在为我的自定义 DS.RESTAdapter 编写测试,它使用我们自己的 SDK 作为传输器而不是 ajax 调用。现在,我想测试适配器 find、findAll、findQuery ... 函数,这些函数需要我将 store 实例作为参数传递。 例如:

findAll: function(store, type, sinceToken){...}

为了能够对此进行测试,我需要传递“store”参数,这在 ember-qunit 的 moduleFor 中不可用(不像在 moduleForModel 中,您可以在测试实例中通过 this.store 访问商店)。

还有其他方法可以访问当前的商店实例吗?

谢谢。

编辑:

我通过为存储和类型创建模拟来解决这个问题。 您可以通过以下方式创建商店实例:

var store = DS.Store.create({
    adapter: @subject
})

还有一个模拟类型,就像一个具有测试所需属性的普通对象。

最佳答案

您可以模拟此方法(例如,使用 Sinon plugin for QUnit )。另一种访问商店的解决方案(但我不确定它是否适用于您的情况)帮助我从全局命名空间访问商店是使用 setupteardown 方法:

  setup: function () {
    Ember.run(App, App.advanceReadiness);
  },
  teardown: function () {
    App.reset();
  }

关于testing - Ember QUnit 模块用于(测试)适配器检索存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26731095/

相关文章:

testing - Jmeter - 使用 csv 设置 http header

javascript - Ember - 对象没有方法 'map'

javascript - 构建没有依赖项的 ember-cli 插件

javascript - 我如何在 emberjs 的 Controller 中操作 dom?

javascript - 如何从 Ember Power Select 传递数据?

node.js - Ember-cli - Bower 未正确安装

testing - 如何在 Leiningen 中声明测试范围依赖项?

android - headless 安卓模拟器 : GPS Location does not work even with setting Geo Fix

testing - Katalon studio - 只允许本地连接 - 终端问题

javascript - 没有任何东西处理 Emberjs 2 的操作