我刚开始使用jasmine
(版本2.4.1)来测试我的javascript
代码。在Visual Studio 2015
工作。我有一个函数,我想检查多个输入 - 例如TestCase
中的nUnit
。
小例子:
我想测试的功能:
this.daysInMonth = function(month, year) {
return new Date(year, month + 1, 0).getDate();
}
这是我的测试文件:
/// <reference path="~/bin/Debug/Content/js/knockout.js" />
/// <reference path="~/bin/Debug/Content/js/reporttimefilter/ReportTimeFilter.js" />
/// <reference path="~/Scripts/jasmine/jasmine-every.js" />
var numOfDaysTestcases = [
{ year: 2016, month: 9, expectedDays: 31 },
{ year: 2016, month: 1, expectedDays: 29 }
];
every(numOfDaysTestcases, function (index, testcase) {
describe('each test case', function () {
var report;
beforeEach(function () {
report = new ReportFilterViewModel();
});
it('get current month number of day', function () {
expect(report.daysInMonth(testcase.year, testcase.month)).toBe(testcase.expectedDays);
});
});
});
该示例基于此link。当我运行我的测试时,我得到了
未找到规格
打开的Chrome标签页和
不确定:测试未运行
作为测试结果。
以下只使用一个对象的测试有效且成功 - 所以我认为它是every
函数的一部分:
describe('each test case', function () {
var report;
beforeEach(function () {
report = new ReportFilterViewModel();
});
var testcase = { year: 2016, month: 9, expectedDays: 31 };
it('get current month number of day', function () {
expect(report.daysInMonth(testcase.year, testcase.month)).toBe(testcase.expectedDays);
});
});
我的问题是我做错了什么?我错过了什么?