Jasmine 套件在测试 运行 输出中未正确打印
Jasmine suites not printed properly in test run output
我正在尝试使用 Jasmine(使用 Karma)进行 JS 测试。但是,当我 运行 测试时,输出不清晰,测试套件 (= describe() ) 未正确打印,而是显示 [object Object].
如何让它打印给 describe() 的实际文本?
感谢您的帮助! :-)
例如,此测试套件显示以下输出。
tests.specs.js
var splitService;
var splitRepositorySpy;
describe('SplitService', function () {
beforeEach(function () {
module('PayMeBack');
splitRepositorySpy = {
list: jasmine.createSpy(),
get: jasmine.createSpy(),
insert: jasmine.createSpy()
};
module(function ($provide) {
$provide.value('splitRepository', splitRepositorySpy);
});
module(function ($provide) {
$provide.value('dateTimeProvider', { now: function () { return new Date('29 Dec 2015 15:40:55'); } });
});
inject(function ($injector) {
splitService = $injector.get('splitService');
});
});
describe('list', function () {
it('should call the repository', function () {
var splits = splitService.list();
expect(splitRepositorySpy.list).toHaveBeenCalled();
});
});
describe('get', function () {
it('should call the repository', function () {
var splits = splitService.get();
expect(splitRepositorySpy.get).toHaveBeenCalled();
});
});
describe('create', function () {
var expectedSplitName = 'Tue Dec 29 2015 15:40';
it('should call the repository with name ' + expectedSplitName, function () {
var splits = splitService.create();
expect(splitRepositorySpy.insert).toHaveBeenCalledWith(expectedSplitName);
});
});
});
Powershell 控制台
PS E:\Development\Project1> karma start
INFO [karma]: Karma v0.12.0 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
INFO [Chrome 47.0.2526 (Windows 8.1)]: Connected on socket zBarh9jOriLwkoeai8ao with id 21844249
[object Object]
[object Object]
V should call the repository
[object Object]
[object Object]
[object Object]
V should call the repository
[object Object]
[object Object]
[object Object]
[object Object]
V should call the repository with name Tue Dec 29 2015 15:40
Chrome 47.0.2526 (Windows 8.1): Executed 3 of 3 SUCCESS (0.056 secs / 0.051 secs)
TOTAL: 3 SUCCESS
升级到 "karma-jasmine":“0.3.6”似乎已经解决了这个问题。
我正在尝试使用 Jasmine(使用 Karma)进行 JS 测试。但是,当我 运行 测试时,输出不清晰,测试套件 (= describe() ) 未正确打印,而是显示 [object Object].
如何让它打印给 describe() 的实际文本?
感谢您的帮助! :-)
例如,此测试套件显示以下输出。
tests.specs.js
var splitService;
var splitRepositorySpy;
describe('SplitService', function () {
beforeEach(function () {
module('PayMeBack');
splitRepositorySpy = {
list: jasmine.createSpy(),
get: jasmine.createSpy(),
insert: jasmine.createSpy()
};
module(function ($provide) {
$provide.value('splitRepository', splitRepositorySpy);
});
module(function ($provide) {
$provide.value('dateTimeProvider', { now: function () { return new Date('29 Dec 2015 15:40:55'); } });
});
inject(function ($injector) {
splitService = $injector.get('splitService');
});
});
describe('list', function () {
it('should call the repository', function () {
var splits = splitService.list();
expect(splitRepositorySpy.list).toHaveBeenCalled();
});
});
describe('get', function () {
it('should call the repository', function () {
var splits = splitService.get();
expect(splitRepositorySpy.get).toHaveBeenCalled();
});
});
describe('create', function () {
var expectedSplitName = 'Tue Dec 29 2015 15:40';
it('should call the repository with name ' + expectedSplitName, function () {
var splits = splitService.create();
expect(splitRepositorySpy.insert).toHaveBeenCalledWith(expectedSplitName);
});
});
});
Powershell 控制台
PS E:\Development\Project1> karma start
INFO [karma]: Karma v0.12.0 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
INFO [Chrome 47.0.2526 (Windows 8.1)]: Connected on socket zBarh9jOriLwkoeai8ao with id 21844249
[object Object]
[object Object]
V should call the repository
[object Object]
[object Object]
[object Object]
V should call the repository
[object Object]
[object Object]
[object Object]
[object Object]
V should call the repository with name Tue Dec 29 2015 15:40
Chrome 47.0.2526 (Windows 8.1): Executed 3 of 3 SUCCESS (0.056 secs / 0.051 secs)
TOTAL: 3 SUCCESS
升级到 "karma-jasmine":“0.3.6”似乎已经解决了这个问题。