Ember.js Ember CLI测试间歇性失败

Ember.js Ember CLI测试间歇性失败,ember.js,ember-cli,Ember.js,Ember Cli,我在运行余烬测试时遇到了一个问题。每3-5次尝试一次,它在运行任何测试之前都会遇到错误。在服务器模式下运行时,可以看到以下输出: ReferenceError: Can't find variable: EmberENV at http://localhost:7357/3256/tests/index.html?hidepassed, line 42 ReferenceError: Can't find variable: define at http://localhost:7357/as

我在运行余烬测试时遇到了一个问题。每3-5次尝试一次,它在运行任何测试之前都会遇到错误。在服务器模式下运行时,可以看到以下输出:

ReferenceError: Can't find variable: EmberENV at http://localhost:7357/3256/tests/index.html?hidepassed, line 42

ReferenceError: Can't find variable: define at http://localhost:7357/assets/test-loader-53146f185443881bff29aab3e80079e2.js, line 3

ReferenceError: Can't find variable: define at http://localhost:7357/assets/tests-a72d35574ec0d1ab014d4af21210a23a.js, line 1
当我查看引用的攻击性文件时,它们如下所示:

/* globals requirejs, require */
(function() {
define("ember-cli/test-loader",
  [],
  function() {
    "use strict";

    var moduleIncludeMatchers = [];
    var moduleExcludeMatchers = [];

    function addModuleIncludeMatcher(fn) {
      moduleIncludeMatchers.push(fn);
    }; 
等等

据我所知,define()是由requirejs引入的函数,因此它似乎只是在测试开始之前没有加载。你知道为什么会这样吗?如果有任何方法可以确保物品以正确的顺序装载

其他重要事项;这似乎不是单个测试的问题,因为删除它们,尤其是第一个被命中的测试,并没有什么区别。这看起来像是在一次大的签入之后偶尔发生的,在这里,我们进行了130到174次测试,但似乎没有引入任何特别奇怪的东西。我也尝试过在不做任何更改的情况下删除新代码,但是如果我恢复到以前的版本,它似乎每次都能正常工作。这可能只是代码库变大的问题

对于依赖项的版本:

EmberCLI: 1.13.13
node: 5.4.1
PhantomJS: 2.1.1

还有什么可以提供的吗?谢谢。

我们也遇到了同样的问题,通过在bower.json中将qunit更新为1.20.0,我们得以解决

"qunit": "~1.20.0",

忘了在这里报告我的案子已经解决了。 首先,这里报告了这个问题:,它可能是由css中使用的一些内联导入
@import url(…)
引起的

在我的例子中,修复方法是编写一个替代的测试运行程序,它忽略网络请求,类似于上述问题中所建议的
@wagenet


希望这适用于其他用例。

我遇到了类似的错误,现在我们正在尝试升级到EmberCLI 2.3.0。能解决这个问题吗?EmberCLI 2.3.0 Node:4.2.6 PhantomJS:2.1.1奇怪的是,这些错误似乎并没有发生在本地Mac OS X开发机器上,但确实发生在CI和我们的Docker测试环境中。解决这个问题有什么好运气吗?还没有什么具体的东西,尽管在我认为没有任何相关变化的情况下,现在似乎很少发生。我在下面探讨Jon的建议。我已经在我的bower.json中定义了该版本的qunit,但是我们也使用npm,在我的package.json中,我们将其定义为^1.0.4,其中1.2.4现在是最新版本。我不确定测试中使用的是哪一个,但我正在升级我的package.json中的^1.2.4,看看它是否有帮助。没有运气,仍然偶尔失败。好主意,我想答案是更改相关依赖项的版本。如果您想共享您的bower和package依赖项,我可以检查一下我们是否有与其他版本类似的内容?@TwoLeggedMammal您解决了这个问题吗?我目前在jenkins build上看到了相同的问题。我在灰烬2.4,幻影2.1.7上。@zhujy_8833不,我们从来没有这样做过。它现在只失败了大约一半的时间,我们只使用了很少的余烬,所以我们只需要在它失败时重新运行就可以了。