如何对函数的返回值进行单元测试-Angular(Jasmine / Karma)

时间:2019-03-18 21:07:20

标签: angular unit-testing jasmine karma-jasmine

我想知道是否有一种方法可以正确测试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*

    });

1 个答案:

答案 0 :(得分:4)

act 中获取值,然后在 assert 中将其检查为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;