0
助けてください。私はカルマでテストするのが初めてです。 "karma start karma.local.conf.js"を実行すると、Chromeブラウザのウィンドウが表示されますが、テストは実行されません。私のapp.jsと私のtest.jsは大丈夫だと思います。問題は私のpackage.jsonにロードしているパッケージのバージョンが間違っていると思われます。私はまた、モカとチャイを含める必要が知っている:ここでカルマテストは実行されません
{
"devDependencies": {
"browserify": "10.2.3",
"gulp": "3.8.11",
"gulp-browserify": "0.5.1",
"karma": "0.12.16",
"karma-chai": "0.1.0",
"karma-chrome-launcher": "0.1.4",
"karma-mocha": "0.1.4",
"http-status": "0.1.8",
"underscore": "1.5.2"
}
}
は私のkarma.local.conf.jsファイルです:
module.exports = function(config) {
config.set({
files: [
'http://code.jquery.com/jquery-1.11.3.js',
'https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.js',
// For ngMockE2E
'https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular-mocks.js',
'./app.js',
'./test.js'
],
frameworks: ['mocha', 'chai'],
browsers: ['Chrome'],
proxies : {
'/': 'http://localhost:3000'
}
});
};
私もapp.jsとtest.jsを投稿することができます必要な場合は、私は彼らが大丈夫だと思う。問題はpackage.jsonにあり、必要なnpmパッケージの正しいバージョンを入手していると思います。ここで
は私app.jsです:事前に
describe('Nav Bar', function() {
var injector;
var element;
var scope;
var compiler;
var httpBackend;
beforeEach(function() {
injector = angular.injector(['myApp', 'ngMockE2E']);
intercepts = {};
injector.invoke(function($rootScope, $compile, $httpBackend) {
scope = $rootScope.$new();
compiler = $compile;
httpBackend = $httpBackend;
});
});
it('shows logged in users name', function(done) {
httpBackend.expectGET('/api/v1/me').respond({
user: { profile: { username: 'John' } }
});
element = compiler('<user-menu></user-menu>')(scope);
scope.$apply();
httpBackend.flush();
assert.notEqual(element.find('.user').css('display'), 'none');
assert.equal(element.find('.user').text().trim(), 'Current User: John');
done();
});
});
おかげで、
ウィリアム