在单元测试中测试多个变量值?

时间:2017-07-27 18:28:10

标签: unit-testing jasmine

我需要检查特定方法的多个变量值。

目前我有以下内容:

describe('Example Test', function(){
    it('tests multiple input values', function(){
        expect(function(valOne)).toBe('testOne');
        expect(function(valTwo)).toBe('testTwo');
        expect(function(valThree)).toBe('testThree');

    });
});

,如果失败,将返回以下消息:

Failures:
1)Example Test tests multiple input values
1.1) Expected 'testVal' to be 'testOne'.

我知道我可以按照以下相同的期望声明将它们组合在一起:

describe('Example Test', function(){
    it('tests multiple input values', function(){
        expect(
            function(valOne) === 'testOne' && 
            function(valTwo) === 'testTwo' && 
            function(valThree) ==='testThree'
        ).toBeTruthy();
    });
});

显然,在这种情况下,失败消息仅表示整个条件的虚假性,而没有指出哪个特定条件失败:

Failures:
1)Example Test tests multiple input values
1.1) Expected false to be truthy.

使用多个except()语句是否有正确的方法来完成此任务?

在单元测试中测试多个值的最佳做法是什么,所以当/如果失败我确切知道哪个条件/值失败了?

1 个答案:

答案 0 :(得分:1)

我会说第一种方式更好,因为在测试中更容易看到 where ,错误发生了。