Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js Ember cli集成单击类型错误未定义不是函数_Ember.js_Ember Cli_Ember Qunit - Fatal编程技术网

Ember.js Ember cli集成单击类型错误未定义不是函数

Ember.js Ember cli集成单击类型错误未定义不是函数,ember.js,ember-cli,ember-qunit,Ember.js,Ember Cli,Ember Qunit,我有一个新的ember cli应用程序,正在设置一个集成测试,以单击页面上的按钮并显示一个模式窗口(或在单击按钮后检查是否存在) 这是集成测试: import { test } from 'ember-qunit'; import Ember from 'ember'; import startApp from '../helpers/start-app'; var App; module('Integration Test - Guest Page', { setup: functio

我有一个新的ember cli应用程序,正在设置一个集成测试,以单击页面上的按钮并显示一个模式窗口(或在单击按钮后检查是否存在)

这是集成测试:

import { test } from 'ember-qunit';
import Ember from 'ember';
import startApp from '../helpers/start-app';

var App;

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


test('guest login modal loads after click', function() {

  expect(3);

  visit('/guest');

  andThen(function() {
    var $modalLink = $("button#guestModalBtn"),
        $modalWindow = $(".modal", "div");
    ok(find($modalLink).length, 'guestModalBtn is present');
    ok(!find($modalWindow).length, 'guest modal element IS NOT present');

    click('.guestmodal');

  });

});
一旦点击click()请求,测试就会失败:

我在网上看到的所有例子都有这种方法。 这肯定是点击,因为我把它拿出来了,所有结果都是绿色的

这是正在相关路线上加载的模板:

{{outlet}}

<button id="guestModalBtn" 
    class="guestmodal" 
    {{action 'showModal' 'guest-details-modal' model}}>
Guest Details
</button>
如果有人能告诉我我做错了什么,或者为什么这个点击事件没有被触发(或发现),我将非常感激


非常感谢

尝试将按钮id传递给click helper,而不是类。我不确定如果有几个元素具有该类名,单击帮助器将如何解析单击内容

更改:

click('.guestmodal');

import Ember from 'ember';

export default Ember.Route.extend({
  actions: {
    showModal: function(name, content) {
      this.controllerFor(name).set('content', content);
      this.render(name, {
        into: 'application',
        outlet: 'modal'
      });
    },
    removeModal: function() {
      this.disconnectOutlet({
        outlet: 'modal',
        parentView: 'application'
      });
    }
  }
});
click('.guestmodal');
click('#guestModalBtn')