热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

JS测试与接入CI指南

js代码自动化的测试有什么好处?开发者在写测试脚本的时候,能够更好的理解代码的的功能,返回值等等;能够实现准确直接的测试,并立即看到测试结果,进行调整;面对复杂的项目,对代码的修改有可能会牵一发动全身,代码的改动可能会影响到其他部分的功能,自动化测试能帮我们整体检查一遍;测试的结果能够当做一个代码质量的依据。
js代码自动化的测试有什么好处?

1、开发者在写测试脚本的时候,能够更好的理解代码的的功能,返回值等等。

2、能够实现准确直接的测试,并立即看到测试结果,进行调整。

3、面对复杂的项目,对代码的修改有可能会牵一发动全身,代码的改动可能会影响到其他部分的功能,自动化测试能帮我们整体检查一遍。

4、测试的结果能够当做一个代码质量的依据。

在segmentfault上搜索“探知js测试”,可以得到三篇系列文章对js测试进行讲解,第一篇的地址:https://segmentfault.com/a/11...

需要用到的知识包括:BDD的测试模式、Mocha测试框架、chai断言库,更倾向使用expect/should、istanbul 测试覆盖率工具,

这里有篇简单介绍 http://www.ruanyifeng.com/blo...,需要学一下makefile的使用,supertest 测试api接口的工具

测试的项目:https://github.com/yylgit/tes...

项目接入travis平台

建立.travis.yml文件,文件内容

language: node_js 
node_js: 
- "5" 
- "4"

travis 执行的是package中的scripts的test命令

接入后在travis平台上可以看到每当仓库有变动时重新执行测试,https://travis-ci.org/yylgit/...

travsi每次都是在新的环境中进行测试

接入 coveralls平台,https://coveralls.io/github/y...

node项目利用 node-coveralls +istanbul


推荐阅读
  • 本文介绍如何在Caffe框架中运行ResNet模型,包括通过Caffe内置工具创建LMDB数据集的方法,以及相关参数的详细说明。 ... [详细]
  • 使用IntelliJ IDEA高效开发与运行Shell脚本
    本文介绍了如何利用IntelliJ IDEA中的BashSupport插件来增强Shell脚本的开发体验,包括插件的安装、配置以及脚本的运行方法。 ... [详细]
  • 深入解析Nacos服务自动注册机制
    本文将探讨Nacos服务自动注册的具体实现方法,特别是如何通过Spring事件机制完成服务注册。通过对Nacos源码的详细分析,帮助读者理解其背后的原理。 ... [详细]
  • 本文详细记录了在Mac操作系统中安装Hexo时遇到的权限错误,并提供了有效的解决方案。 ... [详细]
  • Redis管理工具的安装与使用指南
    本文详细介绍了两款流行的Redis管理工具——Another Redis Desktop Manager 和 Redis Desktop Manager 的安装步骤及基本使用方法,旨在帮助用户更高效地管理和操作Redis数据库。 ... [详细]
  • 本文将详细介绍如何配置并整合MVP架构、Retrofit网络请求库、Dagger2依赖注入框架以及RxAndroid响应式编程库,构建高效、模块化的Android应用。 ... [详细]
  • Git版本控制基础解析
    本文探讨了Git作为版本控制工具的基本概念及其重要性,不仅限于代码管理,还包括文件的历史记录与版本切换功能。通过对比Git与SVN,进一步阐述了分布式版本控制系统的独特优势。 ... [详细]
  • 探索将Python Spyder与GitHub连接的方法,了解当前的技术状态及未来可能的发展方向。 ... [详细]
  • 本文档提供了在Windows 10操作系统中安装Python 3及Scrapy框架的完整指南,包括必要的依赖库如wheel、lxml、pyOpenSSL、Twisted和pywin32的安装方法。 ... [详细]
  • 本文深入探讨了微信小程序直播中点赞动画的实现方法,特别是如何利用三阶贝塞尔曲线使点赞图标沿预设路径移动,以及相关的数学计算与代码实现。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 本文介绍了如何利用 Apache NiFi 的灵活性和扩展性,通过自定义组件来解决标准组件无法满足的特定业务需求。文章不仅涵盖了自定义处理器的基本步骤,还讨论了调试自定义组件时可能遇到的问题及解决方案。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • 本文旨在探讨Swift中的Closure与Objective-C中的Block之间的区别与联系,通过定义、使用方式以及外部变量捕获等方面的比较,帮助开发者更好地理解这两种机制的特点及应用场景。 ... [详细]
  • 本文详细介绍了如何在Java Swing中使用`JButton.registerKeyboardAction()`方法来为按钮设置键盘快捷键,并提供了多个实用的代码示例。 ... [详细]
author-avatar
瘧59999
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有