3

这个页面 ember-cli testing说“包含的测试演示了如何使用新的 ember-testing 包编写单元测试和验收/集成测试。”

但是,为了使集成测试正常工作,我需要找到modulevisit/或任何ember 测试助手。它们在哪里找到,我可以从哪里导入它们?


细节:

我发现最接近的modulemoduleFor,可以从ember-qunit. 模块不适合集成测试,因为我正在测试应用程序中的整个页面或一系列页面,而不是单个模型、路由、控制器、视图等。

我最好的猜测是visit可以在 Ember 本身中找到它,但我不确定从哪里导入它。

既不使用module也不使用moduleFor,我可以运行测试,但它们会出错:

ReferenceError:访问未定义

4

2 回答 2

9

ember-cli 生成 start-app.js 文件,其中包含准备 ember 进行测试的功能。

在您的集成测试文件中...

import startApp from '../../helpers/start-app'; // change this due to your folder hierarchy

var App;

module('Integration Test', {
  setup: function(){
    App = startApp();
  },
  teardown: function(){
    Ember.run(App, 'destroy');
  }
}

现在您的 Ember 应用程序已准备好进行测试。您可以使用 ember-testing 助手。

于 2014-06-03T11:03:29.727 回答
1

扩展@saygun 的答案。截至目前,我们将根据需要使用 moduleForComponent 或 moduleFor 而不是 module。例如:

moduleForComponent('comp-name', 'Integration | Component | comp name', {
  integration: true,
  setup: function(){
    App = startApp();
  },
  teardown: function(){
    Ember.run(App, 'destroy');
  }
});
于 2015-09-04T08:34:19.287 回答