苏河
• 界面老是改,测毛线• 都是业务代码,测毛线• 项目时间太紧,测毛线• 测毛线,还是目测给力……
产品的变化• RIA• Base on Browser• Heavy Javascript• Html 5
开发量的变化       Server        Browser   Server       Browser
前端关注点的变化 内部质量       外部质量 可维护性   前   功能 性能     端        质   界面 设计模式        量 开发效率
困难重重       • 浪费太多时间How?   • 效率太低,意义不大       • 从没写过javascript的单元测试
Jasmine• Jasmine是一个BDD的javascript单         元测试框架
Jasmine• 语法简单• 代码易读性• 不依赖其他js框架• 敏捷• Nodejs、ruby、java、html
Specs
Expectations
Suites
Nested Describes
Disabling Tests & Suites
Matchers
Your matchers
Before and After
Spies matchers•   expect(x).toHaveBeenCalled();•   expect(x).toHaveBeenCalledWith(arguments);•   expect(x).not.toHaveBeenC...
Spies•   spyOn(x, method).andCallThrough();•   spyOn(x, method).andReturn(arguments);•   spyOn(x, method).andThrow(excepti...
spies
Asynchronous specs
waits
waitsFor• waitsFor(function, optional message, optional  timeout)
爱逛街demo• 是否有问题?
预告片• 如何更好的架构可测试代码• 如何集成到klude测试平台• ……
QA
Jasmine
Upcoming SlideShare
Loading in...5
×

Jasmine

364

Published on

jasmine入门介绍,by苏河

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
364
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Jasmine

  1. 1. 苏河
  2. 2. • 界面老是改,测毛线• 都是业务代码,测毛线• 项目时间太紧,测毛线• 测毛线,还是目测给力……
  3. 3. 产品的变化• RIA• Base on Browser• Heavy Javascript• Html 5
  4. 4. 开发量的变化 Server Browser Server Browser
  5. 5. 前端关注点的变化 内部质量 外部质量 可维护性 前 功能 性能 端 质 界面 设计模式 量 开发效率
  6. 6. 困难重重 • 浪费太多时间How? • 效率太低,意义不大 • 从没写过javascript的单元测试
  7. 7. Jasmine• Jasmine是一个BDD的javascript单 元测试框架
  8. 8. Jasmine• 语法简单• 代码易读性• 不依赖其他js框架• 敏捷• Nodejs、ruby、java、html
  9. 9. Specs
  10. 10. Expectations
  11. 11. Suites
  12. 12. Nested Describes
  13. 13. Disabling Tests & Suites
  14. 14. Matchers
  15. 15. Your matchers
  16. 16. Before and After
  17. 17. Spies matchers• expect(x).toHaveBeenCalled();• expect(x).toHaveBeenCalledWith(arguments);• expect(x).not.toHaveBeenCalled();• expect(x).not.toHaveBeenCalledWith(argume nts);
  18. 18. Spies• spyOn(x, method).andCallThrough();• spyOn(x, method).andReturn(arguments);• spyOn(x, method).andThrow(exception);• spyOn(x, method).andCallFake(function);• spyOn(x, method).andReturn(value1); ... ; x.method.andReturn(value2);
  19. 19. spies
  20. 20. Asynchronous specs
  21. 21. waits
  22. 22. waitsFor• waitsFor(function, optional message, optional timeout)
  23. 23. 爱逛街demo• 是否有问题?
  24. 24. 预告片• 如何更好的架构可测试代码• 如何集成到klude测试平台• ……
  25. 25. QA
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×