0

我正在使用 karma & jasmine 对我的 javascript 页面进行单元测试。完成所有配置后,我能够运行测试用例。但是,expect 语句是未定义的。即使我在期望中硬编码了 2 个字符串,它也失败了。我尝试了 toBe & toEqual 但没有成功。下面是我的代码:

describe('Sanity Test', function() {
    var scope;
    beforeEach(angular.mock.module('serviceApp'));
    beforeEach(angular.mock.inject(function($rootScope, $controller) {
        scope = $rootScope.$new();
        $controller('welcomeController', {
            $scope : scope
        });
    }));


    it('Sanity test Jasmine"', function() {
        scope.text = 'Hi';      
        expect('Hi').toEqual('Hi');
    });
});

错误: INFO [启动器]:正在启动浏览器 Chrome 信息 [Chrome 30.0.1599 (Windows 7)]:已连接到套接字 DjMqv6LuftBpkJ2ph7g Chrome 30.0.1599 (Windows 7) 健全性测试健全性测试 Jasmine" FAILED 预期未定义 toEqual "Hi" ... ..src/main/webapp/test/spec/controllers/welcome.test.js:15:3:预期为“Hi”,但未定义 Chrome 30.0.1599(Windows 7):执行 1 of 1(1 FAILED)错误( 0.424 秒 / 0.025 秒)

最近2天一直在挣扎。

4

2 回答 2

0

可能与我使用的业力版本有关。我使用稍旧版本的 karma 搬到了 mac,一切都很顺利。

于 2013-11-26T23:56:23.850 回答
0

我在一个使用 grunt 运行的 Ionic 项目中的所有测试都收到了这样的未定义消息。最终是因为我的业力设置被配置为使用 mocha 和 chai 而不是 jasmine。只需编辑您的配置(无论是 gulpfile.js、Gruntfile.js 还是 karma.my.js)

frameworks: ['mocha', 'chai'],

frameworks: ['jasmine'],
于 2015-04-18T09:02:17.030 回答