在Jasmine中是否有相应的NUnit TestCaseSource设置?

时间:2015-05-17 21:06:55

标签: javascript unit-testing jasmine nunit

使用NUnit编写单元测试时,您可以使用TestCaseSourceAttribute提供多个数据输入组合。来自NUnit's documentation的示例:

private static object[] DivideCases = {
    new object[] {12, 3, 4},
    new object[] {12, 2, 6},
    new object[] {12, 4, 3}
};

[Test, TestCaseSource("DivideCases")]
public void DivideTest(int n, int d, int q) {
    Assert.AreEqual(q, n/d);
}

这将使用DivideTest字段提供的参数运行DivideCases三次。

有没有办法与Jasmine实现类似的设置?

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但这种方法对我有用。

describe("divideTest", function () {
  const testCases = [
    { n: 12, d: 3, q: 4 },
    { n: 12, d: 2, q: 6 },
    { n: 12, d: 4, q: 5 }
  ];

  testCases.forEach(test => {
    it(`should divide ${test.n} by ${test.d} correctly`, () => {
      expect(test.n / test.d).toEqual(test.q);
    });
  });
});

我在这里找到了解决方案https://blog.harveydelaney.com/running-multiple-test-cases-in-jasmine/