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



在使用NUnit编写单元测试时,您可以使用TestCaseSourceAttribute提供多个数据输入组合。一个来自NUnit文档的例子:

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类似的设置?

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

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/

相关内容

  • 没有找到相关文章

最新更新