使用Jasmine框架对javascript进行单元测试
Unit testing javascript using Jasmine framework
我对Jasmine很陌生,事实上我今天刚开始,以前不知道如何编写JS单元测试用例。我正在为一个外部javascript文件使用Jasmine编写单元测试。不幸的是,我不太确定如何为没有任何参数的函数编写单元测试。到目前为止,我看到的所有示例都显示了一个函数,其中至少有一个参数和一些返回值。
带有要测试的函数的javascript文件。(CreateProvider.js)
var provider = function () {
var self = this;
self.formatPhoneNumber = function () {
if (self.contactNumber().length == 10) {
self.contactNumber(self.contactNumber().replace(/('d{3})('d{3})('d{4})/, "($1)$2-$3"));
$("#contactNumber").rules("remove", "max");
$("#contactNumber").rules("add", { maxlength: 13 });
}
};
self.formatSSN = function () {
if (self.SSN().length == 9) {
self.SSN(self.SSN().replace(/('d{3})('d{2})('d{4})/, "$1-$2-$3"));
$("#SSN").rules("remove", "max");
$("#SSN").rules("add", { maxlength: 11 });
}
};
};
现在,我创建了另一个茉莉花测试项目。在这里,我创建了另一个Javascript文件。
/// <reference path = ""../../App_Scripts/CreateProvider.js"" />
describe("providerTests", function () {
var Provider;
beforeEach(function () {
Provider = new provider();
});
it("should format a phone number", function () {
//Unit test a function without parameters
});
});
有人能指引我朝正确的方向走吗。
你的评论在哪里我认为你需要添加这样的内容:
expect(Provider.SSN()).toBe(/*whatever you expect it to be*/);
您可以编写这样的测试用例
// Success test case
it("should format a phone number", function (done) {
provide.contactNumber(0801111111);
provider.formatPhoneNumber();
expect(Provider.contactNumber()).toBe('(080)111-1111')
done();
});
// fail test case since length in not 10
it("length is not equal to 10", function (done) {
provide.contactNumber(080111111);
provider.formatPhoneNumber();
expect(Provider.contactNumber()).toBe(080111111)
done();
});
相关文章:
- 如何对CSS transitionEnd事件后执行的JavaScript进行单元测试
- Javascript单元测试
- 如何在JavaScript中对箭头函数进行单元测试
- Javascript setSelectionRange 在单元测试中的行为不符合预期
- 如何对调用getJSON的javascript函数进行单元测试
- 如何在单元测试中使用此JavaScript代码
- 如何在单元测试中比较JavaScript对象
- 在C#中,我如何对客户端用户交互和javascript(jQuery)代码进行单元测试
- 单元测试响应式Javascript、Quit和matchMedia
- 如何对 Web 套接字进行单元测试 - JavaScript
- 单元测试javascript函数'在不知情的情况下被用于其他地方
- 单元测试javascript是否存在内存泄漏
- 单元测试Javascript匿名函数
- Jenkins/SonarQube单元测试JavaScript的代码覆盖率
- 单元测试javascript
- 单元测试javascript代码风格
- 相当于用于单元测试Javascript的@dataProvider注释
- 单元测试-Javascript语法测试用例
- 后端驱动网站的单元测试javascript
- 单元测试 - Javascript:使用 Sinon 模拟构造函数