gpt4 book ai didi

javascript - 如何解决我的案例中的单元测试问题

转载 作者:行者123 更新时间:2023-12-02 16:32:09 24 4
gpt4 key购买 nike

我正在尝试为我的代码编写单元测试,我需要一些指导。

我的文件中有类似的内容

//inside my 'testCtrl' I have
$scope.calculateTime = function() {
var date = new Date();
$scope.currentYear = date.getFullYear();
}

$scope.calculateLastYear = function() {
$scope.currentYear = $scope.currentYear - 1;
}

我的测试文件。

describe('Controller: testCtrl', function(){
beforeEach(module('myApp'));
beforeEach(inject(function(_$controller_, _$rootscope_) {
scope._$rootScope.$new();

testCtrl = _$controller_('testCtrl', {
$scope:scope
})
})

//for some reason, every tests I write below are passed even
//though it should fail

it('should get the last year'), function() {
expect(scope.currentYear).toBe('text here….') //<-- it should fail but
//it passes
};
})

我不知道如何编写测试来检查 calculateLastYear功能,我不知道为什么我的 expect(scope.currentYear).toBe('text here….')通过了。谁能帮我解决这个问题吗?非常感谢!

最佳答案

您的规范语法不正确。应该是这样的(请原谅双关语):

it('should get the last year', function() {
expect(scope.currentYear).toBe('text here….');
});

计算去年的规范:

  it('should get the last year', function() {
$scope.currentYear = 2015;
$scope.calculateLastYear();
expect($scope.currentYear).toEqual(2014);
});

关于javascript - 如何解决我的案例中的单元测试问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28203831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com