Ember.js 在余烬摩卡所有挂钩之前使用时出现类型错误

Ember.js 在余烬摩卡所有挂钩之前使用时出现类型错误,ember.js,mocha.js,Ember.js,Mocha.js,我在ember mocha版本0.14.0中遇到了一些问题。下面是一个示例,该示例已稍作修改,以包含Beforeach钩子: 上述测试按预期运行,没有问题。然而,当我用before替换before时,我遇到了一个错误: import { expect } from 'chai'; import { describe, it } from 'mocha'; import { setupApplicationTest } from 'ember-mocha'; import { visit, cur

我在ember mocha版本0.14.0中遇到了一些问题。下面是一个示例,该示例已稍作修改,以包含Beforeach钩子:

上述测试按预期运行,没有问题。然而,当我用before替换before时,我遇到了一个错误:

import { expect } from 'chai';
import { describe, it } from 'mocha';
import { setupApplicationTest } from 'ember-mocha';
import { visit, currentURL } from '@ember/test-helpers';

describe('basic acceptance test', function() {
  setupApplicationTest();

  before(async function() {
    await visit('index');
  });

  it('can visit /', async function() {
    await visit('/');
    expect(currentURL()).to.equal('/');
  });
});
如果需要任何澄清,请告诉我。提前感谢您的帮助

这是意料之中的事! 之前,所有测试只运行一次。 这意味着在一切之前 但是,setupApplicationTest使用beforeach来设置应用程序和容器,然后使用beforeach来再次将其拆下。 这意味着您可以为所有测试获得一个新的应用程序。 但是,没有应用程序,你无法真正访问任何东西

这意味着每次测试都会得到一个新的应用程序实例。 这意味着没有适用于所有测试的应用程序,因此没有可以访问路由的应用程序

同样的问题也在灰烬不和谐频道被问到。这个答案试图抓住讨论的实质,将其归档

import { expect } from 'chai';
import { describe, it } from 'mocha';
import { setupApplicationTest } from 'ember-mocha';
import { visit, currentURL } from '@ember/test-helpers';

describe('basic acceptance test', function() {
  setupApplicationTest();

  before(async function() {
    await visit('index');
  });

  it('can visit /', async function() {
    await visit('/');
    expect(currentURL()).to.equal('/');
  });
});
TypeError: Cannot destructure property `owner` of 'undefined' or 'null'.
    at visit (assets/test-support.js:24931:9)
    at Context.<anonymous> (assets/tests.js:339:36)
    at invoke (assets/test-support.js:22801:21)
    at Context.asyncFn (assets/test-support.js:22786:11)
    at callFnAsync (assets/test-support.js:14070:8)
    at Hook.Runnable.run (assets/test-support.js:14022:7)
    at next (assets/test-support.js:14386:10)
    at assets/test-support.js:14408:5
    at timeslice (assets/test-support.js:9651:27)