如何单位测试函数的返回值 - Angular(Jasmine / Karma)

问题描述 投票:1回答:1

我想知道是否有一种方法可以正确测试Angular中函数的返回值。我想对一个测试的返回值进行必要的测试,然后编写另一个来测试相反的情况。

Ts分量:

    get() {
        if (this.object == undefined) {
            return true;
        } else {
            return false;
        }    
    }

我现在认为适合测试返回值的唯一方法是设置一个变量来保存返回值。以下是我的尝试,我只是坚持断言预期的结果。

测试:

it('should call get function and return true', () => {
        //Arrange
        component.object = undefined;

        //Act
        component.get();

        //Assert
        expect(component.get). <-- *stuck here*

    });
angular unit-testing jasmine karma-jasmine
1个回答
6
投票

获取行为中的值,然后在断言中将其检查为true

it('should call get function and return true', () => {
        // Arrange
        component.object = undefined;

        // Act
        var result = component.get();

        // Assert
        expect(result).toBe(true);
    });

另外,方法get的主体可以简化为

return this.object === undefined;
© www.soinside.com 2019 - 2024. All rights reserved.