behave java_Lambda Behave行为测试框架

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 {{

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值