为什么80%的码农都做不了架构师?>>>   

缘起

写多了业务代码,一些遗留系统里处于基本没有单测的状态,因此最近对 TDD 的开发方式很感兴趣,看了不少 TDD 介绍和实践的书。

TDD 对测试的执行次数有很高的要求,但是平常在 idea 里面写代码运行测试所需时间较长,需要先 build 才能启动测试,这就成了我们践行 TDD 的障碍,我们需要一款对测试友好的插件来帮助我们。

infinitest 插件可以让我们免除手动执行测试的尴尬,它检测文件的 class 变动,当文件有变动时,可以自动执行测试,开箱即用。infinitest 也可以使用简单的配置,让我们把 infinitest 和 Junit 相关特性结合起来,更显方便

安装与使用

安装很简单:

Settings -> Plugins -> Browse repositories -> 查找infinitest -> Install -> Restart idea

添加到项目中:

Project Structure(ctrl+shift+alt+s) -> Modules -> 添加infinitest

idea 默认不会自动 compile文件,我们需要开启一下

Settings -> Build, Execution, Deployment -> Compiler -> Build project automatically 打上勾

如果项目中只有简单的测试,这样就可以了,如果我们需要区分不同的测试,我们需要自己添加文件来配置一下。

配置

总的文档目录 infinitest docs

filters

这个配置可以让我们指定需要执行哪些测试,不执行哪些测试,支持 Junit4 的 category 和 Junit5 的 tags

  • 添加配置文件

自己新建一个infinitest.filters, 将文件放在.iml同级目录下即可。

  • 通过 class name,支持正则表达式
# Include tests that end in ITest or TestCase
include .*ITest, .*TestCase# Exclude Inner Classes
exclude .*\$.*# Include tests in package com.mycompany.mypackage and sub-packages
include com\.mycompany\.mypackage\..*# Include tests in package com.mycompany.mypackage and not in sub-packages
include com\.mycompany\.mypackage\.[^.]*
  • 通过 Junit5 的 tags
# Include tests with "Fast" and "Regression" tags
includeGroups Fast, Regression# Exclude tests with "Slow" tag
excludeGroups Slow
  • 通过 Junit4 的 category
# Include tests in FastTests and RegressionTests categories
includeGroups com.example.FastTests, com.example.RegressionTests# Exclude SlowTests category
excludeGroups com.example.SlowTests

testNg 框架相关的不做介绍,具体可以参见 infinitest filters

JVM options

新建infinitest.args文件,位置与filters的一样,里面每一行是一个虚拟机参数,这个配置会覆盖 infinitest 的默认配置

最后

大家如果遇到什么问题可以先 Google 一下,如果没有找到答案,可以在 GitHub 上自行提问。

转载于:https://my.oschina.net/liufq/blog/1926365

测试插件-infinitest介绍相关推荐

  1. 【Android 插件化】Hook 插件化框架 ( 创建插件应用 | 拷贝插件 APK | 初始化插件包 | 测试插件 DEX 字节码 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

  2. JMeter 阶梯式加压测试插件 Concurrency Thread Group

    jmeter阶梯式加压测试:JMeter 阶梯式加压测试插件 Stepping Thread Group 由于Stepping Thread Group插件相对来说过于老旧,已不被官方所推荐. 所以这 ...

  3. Nessus安全测试插件编写教程(2)

    5.总结 这是NASL Reference Guide的第一部分,主要介绍了NASL的各种函数.在下一部分我们将系统地介绍如何编写Nessus安全测试插件.' 1.怎样编写一个高效的Nessus安全测 ...

  4. Web调试工具:火狐Firefox插件Firebug介绍

    Web调试工具:火狐Firefox插件Firebug介绍 什么是Firebug Firebug是Firefox下的一款开发类插件,现属于Firefox的五星级强力推荐插件之一.它集HTML查看和编辑. ...

  5. [原创]网站HTML,XHTML,XML,WML,CSS等测试验证工具介绍

    [原创]网站HTML,XHTML,XML,WML,CSS等语言测试验证工具介绍 1 在线网站语言测试检查网站: HTML和XHTML测试检查网站: http://validator.w3.org/ 或 ...

  6. Qt插件机制介绍及实现

    Qt插件机制介绍及实现 创建应用程序主窗口 创建Qt项目 编辑项目文件ImageView.pro mainwindow.cpp main.cpp mainwindow.cpp 编译运行 插件接口 实现 ...

  7. TestNG开源插件Arrow介绍

    TestNG开源插件Arrow介绍 来自孔庆云kevin   2014-03-04 17:16:17|  分类: 测试工具 TestNG是一个设计用来简化广泛测试需求的 测试框架,旨在涵盖所有类型的测 ...

  8. Contact form 7插件使用介绍和常见问题解答

    Contact form 7 是一款非常流行的免费表单插件,功能很强大,操作也不复杂,比曾经用过的emailmeform要更好,下面介绍使用方法. 原文:Contact form 7插件使用介绍和常见 ...

  9. [原创]Android Monkey测试工具使用介绍

    [原创]Android Monkey测试工具使用介绍 1 Android Monkey介绍 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件 ...

最新文章

  1. mysql keepalived主主同步_KEEPALIVED+MYSQL主主同步=MYSQL高可用(HA)集群
  2. Windows保护模式学习笔记(五)—— 任务段任务门
  3. qlistwidgetitem itempressed怎么区分左右键_图文介绍:断桥门窗五金配件怎么区分左右定义?...
  4. 在线网摘收藏?让Google来吧!
  5. C++ inline variable
  6. 图片中的Build 2016
  7. 弱,弱,最弱,利用专业参考来利用垃圾收集器
  8. 织梦内核素材资源下载站源码-带用户中心和VIP充值系统+安装视频图文教程
  9. mysql 引擎 类型_MySQL(一)之存储引擎类型
  10. utilities(C/C++)
  11. php无限极 left right,PHP超牛逼无限极分类生成树方法
  12. QT5实现职工工资信息管理系统(文件读写)
  13. 解决在浏览器中打开java文件jnlp报错“该文件没有程序与之关联来执行该操作...”
  14. 阿里云服务器ftp连接后21端口无法使用的问题
  15. 不能忍!花钱买网站VIP账号别人在用?
  16. Qt实现word文档转html
  17. armv8 ARM64 AARCH64
  18. EFM8 USB Library使用笔记
  19. 中国地图china.js
  20. 1762 牛的洗牌(递推)

热门文章

  1. 驱动精灵2007_畅玩Steam的Win10游戏掌机发布! |莱莎2新战斗动画,肉腿致命驱动~...
  2. xp电脑自动锁定计算机,WindowsXP系统组策略的锁死的解决方法
  3. 使用ExtractTextPlugin将css和js分开打包
  4. mysql 查询正在执行的事务以及锁 常用的sql语句
  5. 计算机基础:离散数学和完备性
  6. | 一文读懂迁移学习(附学习工具包)
  7. CNN结构:Windows使用FasterRCNN-C++版本
  8. Mina集成Spring --- 在配置文件中配置sessionconfig
  9. nginx+tomcat+memcached负载均衡
  10. Effective C++ 阅读笔记(一)透彻了解inline以及降低编译依存关系