如何使用BDD Javascript测试数组元素类型?

时间:2015-06-10 16:06:25

标签: javascript unit-testing bdd

我正在使用BDD样式编写Javascript单元测试。我想测试一个值

  1. 是一个数组
  2. 包含所有字符串元素
  3. 我可以用

    获得第一个条件
    value.should.be.an('array');
    

    有没有办法用这个成语测试第二个条件?

2 个答案:

答案 0 :(得分:1)

我认为干净的方法是使用Array.prototype.every,它会给你一个布尔值,指示数组中的每个值是否都是一个字符串。然后,您可以在断言中使用此值。

value.every(function(el){ 
    return typeof(el) === 'string';
}).should.be.true;

答案 1 :(得分:0)

怎么样......

var nonStrings = myArray.filter(function( val ){ return val.be.a.String; });

nonStrings.should.be.empty;