大佬教程收集整理的这篇文章主要介绍了angularjs – 量角器/茉莉花条件测试案例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
虽然链接问题中发布的忽略解决方案有效,但从风格上来说,我并不喜欢它.乍一看,它看起来像是在忽略/跳过规范.
另外,我在Gitter问了这个问题 – 下面的代码是不好的做法?
if(questionAnswer == "Yes") { it('should display another question',function() { // code }); }
我从量角器团队的人那里收到的Gitter答案相当含糊:
我对这个答案并不满意,因为他开始说“可能是片状的……”这对我来说听起来并不稳定.我看到的唯一选择是在规范中创建条件正常,并创建一个任意断言来捕获else场景,即:
it('should display another question',function() { if(questionAnswer == "Yes") { expect(question2.isDisplayed()).toBe(true); } else { expect(true).toBe(true); } });
但是当我只需要50%的时间时,我会自动添加一个额外的测试用例.我知道这是一个小问题,但它确实困扰我.
上面的代码是我目前面临的情况 – 如果最后一个规范回答“是”,我需要为下一个问题运行一个额外的规范.如果没有,那就是我测试的结束.是否真的没有正式的方法来有条件地运行Jasmine / Protractor中的规范?
虽然在Jasmine中没有明确提供,但它们确实存在于其他BDD风格的测试框架中,如rspec(related reference).通常,上下文只是描述的别名.
所以在Jasmine中,我将使用describe和我的测试结构如下:
describe('someMethod',function() { describe('when a privileged account',function() { beforeEach(function() { questionAnswer = "Yes"; someMethod(); }); it('should do something',function() { // expectation } }); describe('when not a privileged account',function() { beforeEach(function() { questionAnswer = "No"; someMethod(); }); it('should do something else',function() { // expectation } }); );
我避免“条件测试”.我宁愿运行更多的测试来确保我已经耗尽了所有的代码路径.此外,我发现测试更具可读性,这是BDD风格测试的目标之一.
以上是大佬教程为你收集整理的angularjs – 量角器/茉莉花条件测试案例全部内容,希望文章能够帮你解决angularjs – 量角器/茉莉花条件测试案例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。