AngularJs学习笔记--E2E Testing
<div id="cnblogs_post_body">原版地址:http://docs.angularjs.org/guide/dev_guide.e2e-testing当一个应用的复杂度、大小在增加时,使得依靠人工去测试新特性的可靠性、抓Bug和回归测试是不切实际的。
为了解决这个问题,我们建立了Angular Scenario Runner,模仿用户的操作,帮助我们去验证angular应用的健壮性。
一、 总括
我们可以在javascript中写情景测试(scenario test),描述我们的应用发生的行为,在某个状态下给与某些互动。一个情景包含一个或者多个&rdquo;it&rdquo;块(我们可以将这些当作对我们应用的要求),依次由命令(command)和期望(expectation)组成。command告诉Runner在应用中做某些事情(例如转到某个页面或者单击某个按钮),expectation告诉runner去判断一些关于状态的东西(例如某个域的值或者当前的URL)。如果任何expectation失败了,那么runner标记这个&rdquo;it&rdquo;为&rdquo;false&rdquo;,然后继续下一个&rdquo;it&rdquo;。Scenario也可以拥有&rdquo; beforeEach&rdquo;和&rdquo; afterEach&rdquo;block,这些block会在每一个&rdquo;it&rdquo;block之前或者之后运行,不管它是否通过。
http://pic002.cnblogs.com/images/2012/397727/2012092514581215.jpg
除了上述元素外,scenario也可以包含helper function,避免在&rdquo;it&rdquo;block中有重复的代码。
这里是一个简单的scenario例子:
<div class="cnblogs_code">describe('Buzz Client', function() { it('should filter results', function() { input('user').enter('jacksparrow'); element(':button').click(); expect(repeater('ul li').count()).toEqual(10); Input('filterText').enter('Bees'); expect(repeater('ul li').count()).toEqual(1); });});
页:
[1]