Karma + Jasmine 在有测试时报告 0 个测试 运行

Karma + Jasmine reporting 0 tests run when there are tests

我正在尝试 运行 在 Karma 中进行一些 Jasmine 测试,但测试失败了,因为它说它是 运行 0 个测试中的 0 个。有人可以告诉我我做错了什么吗?

异步请求模拟触发并触发回调。即使当我转到调试器时,它也说 2 个测试在调试器中完成,但在控制台中失败。给出了什么?

describe('User Info Tests:', function () {
    describe('Fetch User Info:', function () {
        it("User Name should match", function(done) { 
            // mock async request
            getUserProfile(1, 2, function (userProfile) {
                var match = userProfile.displayName === 'Unit Test User';
                expect(match).toBeTruthy();                    
                done();
            }, function (msg) {
                done();
                throw msg;
            });                 
        });            
    });
});

查看下面测试调试控制台的屏幕截图 运行ning。您将看到状态为 SUCCESS 的测试 运行。

所以问题是我没有在 karam.conf.js 文件中包含 karam-requirejs 插件。显然它不希望您在文件集合中包含您自己的 require.js 副本。添加该插件后,一切正常。

frameworks: ['jasmine-jquery', 'jasmine', 'requirejs'],

    plugins: [
        'karma-phantomjs-launcher',
        'karma-chrome-launcher',
        'karma-jasmine-jquery',
        'karma-jasmine',
        'karma-requirejs'
    ],

确保 karma-requirejs 插件确实通过 npm 安装在您的 package.json 中!