在jasmine中循环遍历it()描述未找到的输出规范

时间:2015-08-24 14:17:55

标签: javascript unit-testing jasmine jasmine-node

我了解到this way是在describe()中循环遍历it()的最佳方法,但是在“spec not found”的情况下它失败了,似乎在for循环函数之前就停止了,我想知道我哪里做错了?

谢谢!

describe('this is my looping test!', function() {
  var input = [1,2,3];
  var output = [10, 20, 30];

  function test_my_times_ten(input, output) {
    it('should multiply ' + input + ' by 10 to give ' + output, function() {
      expect(input * 10).toEqual(output)
    });
  }

  for(var x = 0; x < input.size; x++) {
    test_my_times_ten(input[x], output[x]);
  }
});

2 个答案:

答案 0 :(得分:6)

实际上有人做了这样聪明的事情,看起来似乎有效!

Looping on a protractor test with parameters

var testParams = testConfig.testArray;

for (var i = 0; i < testParams.length; i++) {

  (function (testSpec) {
    it('write your test here', function () {
      //test code here
    });
  })(testParams[i]);

};

答案 1 :(得分:1)

我认为真正的问题是&#34; input.size&#34; at line&#34; for(var x = 0; x&lt; input.size; x ++){&#34; 。没有这样的东西叫&#34; input.size&#34;。尝试input.length,你的测试将按预期运行