testing - EmberJS 测试重置未完全重置或异步问题

标签 testing ember.js tdd qunit

如果我更改我的 Ember/Qunit 测试的顺序,它们就会通过。这是为什么,或者我可以做些什么来避免它?

编辑:我注意到 Qunit 测试以或多或少的随机顺序运行(以先准备好的为准?),无论如何,当测试 B 跟随测试 A 时,它会失败。

似乎 App.reset() 没有完全重置,或者存在一些我没有看到的异步问题。

规范

module("Integration Tests", {
  setup: function() {
    console.log('reset');
    Encompass.reset();
  }
});

test("TEST A", function() {
  visit("/workspaces").then(function() {
    ok(true);
  });
});

test("TEST B", function() {
  visit('/workspaces/1/submissions/1').then(function() {
    ok(find('li[title="Kyle Folder 1"]').length, "the folder is there");
  });
});

我有两个版本的在线测试。

这是将 fixture 适配器与一堆模型一起使用(可能不是所有正确的关系,但我仍然希望无论顺序如何,测试都是一致的)

最佳答案

App.reset() 重置 ember 应用程序本身,它不会重置 Ember 模型/数据。

您需要为 Ember 数据使用 unloadAll:

this.store.unloadAll('post');

对于 Ember 模型,您将使用 clearCache:

App.Post.clearCache();

您是否尝试过在测试 A 运行正常之前允许访问解决?

test("TEST A", function() {
  visit("/workspaces").then( function(){
    ok(true);
  });
});

关于testing - EmberJS 测试重置未完全重置或异步问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19851136/

相关文章:

visual-studio - 以某种文档/报告格式导出 Visual Studio 测试结果?

testing - 线路覆盖率高但 block 覆盖率低说明什么?

javascript - 在 Ember JS 中使用 get 和 set 函数

javascript - 如何测试 javascript 闭包内的函数

jenkins - Goconvey 在 Jenkins 上用 go routine 引起 panic

c - 根据 HIS 代码指标的 C 代码指令数

ruby-on-rails - 如何减少我的 Rails 测试开销?

javascript - 连接到 Promise 的 .then 方法

javascript - 对象属性更改时模板不刷新(Ember 2)

javascript - 我如何测试 Jasmine 中的值是 "greater than or equal to"?