加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 基本的testacular / jasmine /角度设置和使用

发布时间:2020-12-17 17:12:23 所属栏目:安全 来源:网络整理
导读:我是Jasmine的新手,但想在 Javascript中做更多的TDD.我一直在使用Google的Angular库,我知道 Testacular专门用于测试Angular应用程序. 我已经阅读了Jasmine文档并观看了Testacular设置视频,但我无法获得最基本的测试.假设我有三个文件: modules.jscontroller
我是Jasmine的新手,但想在 Javascript中做更多的TDD.我一直在使用Google的Angular库,我知道 Testacular专门用于测试Angular应用程序.

我已经阅读了Jasmine文档并观看了Testacular设置视频,但我无法获得最基本的测试.假设我有三个文件:

modules.js
controller.js
appSpec.js

modules.js的模块定义包含一些.factory(…)服务和一些.directive(…)自定义指令. controller.js包含我的控制器,用于将模块连接到html视图.

到现在为止还挺好.接下来我添加了appSpec.js.假设我想用它来测试我的模块中的一个服务,名为“Data”,它有一个方法,“getData()”返回一个资源.

在testactular init我告诉它要看所有三个文件.我运行Testacular,它告诉我它正在观看正确的文件.超.

我不明白的是我如何让Jasmine规范知道如何查看模块和控制器以便对它们进行测试.如果我只是说:

describe('Data Service',function(){
  it ('should retrieve two items from the database',function(){
    data = Data.getData() //my angular service
    expect(data.length).toBe(2);
  });
});

毫不奇怪,它不知道Data.getData()是什么.

很明显,在我开始编写套件之前,我应该把模块定义和控制器放到规范中.它必须如此明显,以至于我在文档中没有看到人们如何做到这一点.教程似乎开始在spec.js文件中编写规范并假设一切都很好.

我在这里看过其他帖子,其中提出了类似的问题,但不可否认,他们都有一个我似乎缺乏的基础.例如,一篇文章谈到不是手动创建控制器的实例,而是注入依赖关系.他为什么要创建一个新的$rootScope对象,如何引用他的模块等等……

我理解我的问题可能只是缺乏对Jasmine框架的基本理解,但我似乎无法从Jasmine自述文件中获得更多理解.有人能指出我对它应该如何工作的基本解释吗?

谢谢.

解决方法

尝试在茉莉花测试中做模块(‘myModule’).

这里有一些开源角度项目,有很好的测试可供查看:

angular-app

angular-ui

bootstrap

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读