Javascript 为什么我得到这个角度模拟错误,而摩卡测试没有运行

Javascript 为什么我得到这个角度模拟错误,而摩卡测试没有运行,javascript,angularjs,mocha.js,chai,angular-mock,Javascript,Angularjs,Mocha.js,Chai,Angular Mock,我得到了这里找到的确切错误:。然而,修复不起作用,甚至提到了相同的修复 以下是Tuts+作者的修正: 只需将angular mock脚本标记放在Mochai和Chai脚本之后。我在下面这样做: test/index.html 我的吞咽任务 在index.html文件中,在调用mocha.setup('bdd')之前包含angularmocks.js脚本angular mocks.js被实现为一个立即调用的函数表达式,它尝试使用window.beforeach。() 但是,mocha.js不

我得到了这里找到的确切错误:。然而,修复不起作用,甚至提到了相同的修复

以下是Tuts+作者的修正:

只需将
angular mock
脚本标记放在
Mochai
Chai
脚本之后。我在下面这样做:

test/index.html
我的吞咽任务
index.html
文件中,在调用
mocha.setup('bdd')
之前包含
angularmocks.js
脚本
angular mocks.js
被实现为一个立即调用的函数表达式,它尝试使用
window.beforeach
。()

但是,
mocha.js
不会立即被调用,必须使用
mocha.setup
函数进行初始化,才能将其魔力添加到运行时环境中

尝试颠倒这些脚本标记的顺序,以便在
angularmocks.js
之前包含并初始化
mocha.js

    <script src='bower_components/mocha/mocha.js'></script>
    <script src='bower_components/chai/chai.js'></script>
    <script>
        mocha.setup('bdd');
    </script>
    <script src="bower_components/angular-mocks/angular-mocks.js"></script>

摩卡咖啡设置(“bdd”);

问题是什么?更新了我的标题和代码。为什么我会出现这个错误,而我的测试没有运行?我刚刚意识到这门课程是从2015年7月开始的,我没有得到的是,我下载了他的github repo,他的测试运行良好!我们的应用程序没有使用Node,但是,它在本地通过Python和Apache运行。不确定这是否与此有关,但这令人沮丧。我已经修复了此部分,但它仍然发生:(很抱歉,我必须早些时候发布旧代码……让我抓狂的是作者的测试完全运行lol。好吧,这是我的好主意。也许你可以用你的代码创建一个git repo,这样我就可以自己尝试了。当然!我当然没有添加我的应用程序文件,但也许你可以看到这里出了什么问题?repo中的代码有角度限制。)mocks脚本在
mocha.setup()
之前加载。我改变了顺序,它工作了。我给你发了一份PR,只是为了100%透明。啊,谢谢!我现在明白了,完全没有读到,你是说
run
语句,但实际上是
mocha.setup('bdd');
:)正在工作
/**
 * @name Mocha Test Runner
 * @desc Describes and runs our dashboard tests
 */

var assert = chai.assert;
var expect = chai.expect;

// This Test is designed to fail on purpose
describe('User Login', function() {
    console.log('User Login');
    describe('Login Failed', function() {
        console.log('Login Failed');
        if ('Incorrect login should fail', function() {
            module('loginController')
            inject(function($injector) {
                apiFactory = $injector.get('ApiFactory');
            });

            expect(apiFactory).to.be.an('number');
        });
    });    
});
gulp.task('serve', function() {
    return browserSync.init({
        notify : false,
        port   : 3333,
        server: {
            baseDir: ['app'],
            routes: {
                '/bower_components' : 'bower_components'
            }
        }
    });
});

gulp.task('serve-test', function() {
    browserSync.init({
        notify : false,
        port   : 4444,
        server: {
            baseDir: ['test', 'app'],
            routes: {
                '/bower_components' : 'bower_components'
            }
        }
    });
});
    <script src='bower_components/mocha/mocha.js'></script>
    <script src='bower_components/chai/chai.js'></script>
    <script>
        mocha.setup('bdd');
    </script>
    <script src="bower_components/angular-mocks/angular-mocks.js"></script>