Lambda Behave行为测试框架

如果你是一个Java开发人员,你已经看到了在其他编程语言如spock 或 jasmine 这样可用的流畅的现代的规范框架,而现在 Lambda Behave 行为测试方式非常适合你。其目标是比现在使用的JUnit能使测试变成一个更加愉快的经历。

Lambda Behave是一个基于Java 8的行为测试框架,其特点是:

如同英文一样可阅读性

鼓励使用长和描述性的句子,而不是几句话进行测试。

API是流畅的,几乎可以通过IDE自动完成功能辅助发现完成。

public class StackSpec {{

Stack stack = new Stack<>();

describe("a stack", it -> {

it.shouldSetup(stack::clear);

it.shouldTearDown(stack::clear);

it.should("be empty when created", expect -> {

expect.that(stack).isEmpty();

});

每个标准测试都是以Suite.describe方法开始,然后你就可以借助IDE自动完成,下面是一些技术细节:

如果你指定以恶搞属性property,使用it.should.

如果你要描述一个熟悉期望值,使用expect.that. 这会给你一个流畅API限制值的类型,预期系统是基于hamcrest. 通过expect.that(value).is() 使用Hamcrest的规则匹配。

如果你要setup 或 teardown,使用useit.shouldSetup 和 it.shouldTearDown.

如果你要在每个suit中实现setup 或teardown,使用useit.shouldInitialize 和 it.shouldComplete.

虽然Java 8 lambdafied APIs 并不能很好处理exception,但是你可以在我们回调中抛出exception,相应错误将会被报告。

Lambda Behave测试API是流畅且类型安全的,并不依赖反射魔术。

describe("a pair of numbers", it -> {

it.uses(2, 4)

.and(4, 8)

.toShow("%d / %d is two", (expect, x, y) -> {

expect.that(y / x).is(2);

});

});

Maven依赖配置:

com.insightfullogic

lambda-behave

0.1

test

通过下面代码可与Junit整合:

@RunWith(JunitSuiteRunner.class)

public class StackSpec {{

behave java_Lambda Behave行为测试框架相关推荐

  1. behave 测试框架,了解一下

    # behave测试框架 [behave](https://pythonhosted.org/behave/)是python的1个bdd测试框架实现. ### 安装 ``` pip install b ...

  2. 收藏清单: python测试框架最全资源汇总

    xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...

  3. python测试框架数据生成工具最全资源汇总

    xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...

  4. 转 python测试框架最全资源汇总

    转自: http://www.testclass.net/list/python_list_1/ xUnit frameworks(单元测试框架) frameworks 框架 unittest - p ...

  5. python制作考试系统_python测试框架数据生成工具最全资源汇总

    xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...

  6. 软件自动测试框架,软件自动化测试框架的研究和实现

    摘要: 软件自动化测试是软件工程领域的一项重要课题.随着软件工程理论的不断发展,软件自动化测试在理论上也不断达到新的高度.目前最为成熟的软件自动化测试技术是使用自动测试框架来指导自动化测试的实现.迄今 ...

  7. model存数据_Jepsen 测试框架在图数据库 Nebula Graph 中的实践

    在本篇文章中主要介绍图数据库 Nebula Graph 在 Jepsen 这块的实践. Jepsen 简介 Jepsen 是一款用于系统测试的开源软件库,致力于提高分布式数据库.队列.共识系统等的安全 ...

  8. 5个最佳的Android测试框架

    2019独角兽企业重金招聘Python工程师标准>>> 谷歌的Android生态系统正在不断地迅速扩张.有证据表明,新的移动OEM正在攻陷世界的每一个角落,不同的屏幕尺寸.ROM / ...

  9. testem方便的web tdd 测试框架使用

    备注: 单元测试,对于日常的开发是比较重要的,testem 简化了我们的代码编写,以及运行. 主要特性: a. 支持的测试框架有:jasmine quint mocha buster.js ,同时也包 ...

最新文章

  1. java怎么监听多个组件,java web(五):java web三大组件之另外两个和八大监听器
  2. Boost:align overflow对齐溢出的测试程序
  3. java用mvvm,[Java教程]MVVM架构~使用boxy和knockoutjs实现编辑功能
  4. RHEL7出现tkinter.TclError: no display name and no $DISPLAY environment variable
  5. mysql characteristic_MySQL存储过程定义中的特性(characteristic)的含义
  6. [Reverse] - 百度杯”CTF比赛 2017 二月场-CrackMe-1
  7. STL之Map完整(Linux内核)内部实现
  8. mysql进阶-02-事务的引入与基本的使用
  9. 分析师:Apple不会在2022年发布OLED iPad Air
  10. Oracle FGA审计的使用
  11. Hashtable 为什么不叫 HashTable?
  12. springboot的异常处理
  13. spring-speed-up.xml
  14. 51/52单片机 TCON控制字及TMOD寄存器
  15. 论文阅读:VoltJockey: Breaching TrustZone by Software-Controlled Voltage Manipulation over
  16. Elasticsearch5.0 安装 以及 问题集锦
  17. UltraISO 9安装教程
  18. 李航《统计学习方法》感知机代码
  19. Python基础嘚吧嘚
  20. Docker配置Daocloud加速器

热门文章

  1. web网页设计实例作业 ——中国风的茶文化(4页) web课程设计-HTML网页制作代码
  2. 相遇,倾城暖——致友情
  3. Android支持库
  4. 用JS实现下拉菜单效果
  5. am335x sd卡分区制作文档
  6. MCE | mTOR 通路是如何调控自噬的
  7. 又到年终了,程序员如何做工作总结呢?
  8. 由《人月神话》和《功夫》所想到的
  9. “英语达人”的手机在线英语生活
  10. Symantec NetBackup Agent For Linux install