在使用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/