一个用于Java的BDD(类RSpec)测试库

一个用于Java的BDD(类RSpec)测试库,java,unit-testing,Java,Unit Testing,既然我们有了lambda表达式,就应该有一个Java单元测试库,它提供了类似于(比如)RSpec的语法。我想象的是: describe("some behavior", () -> { beforeEach(() -> { // do some initialization... }); describe("sub behavior 1", () -> { // some assertions ... });

既然我们有了lambda表达式,就应该有一个Java单元测试库,它提供了类似于(比如)RSpec的语法。我想象的是:

  describe("some behavior", () -> {
    beforeEach(() -> {
      // do some initialization...
    });
    describe("sub behavior 1", () -> {
      // some assertions ...
    });
    describe("sub behavior 2", () -> {
      // some assertions ....
    });
  });
有这样的库吗?

Afaik,就是这样的库

Oleaster允许您像编写Jasmine一样编写JUnit测试 测试

Oleaster JUnit测试如下所示:

@RunWith(OleasterRunner.class)
public class OleasterIntroductionTest {{
    describe("A suite", () -> {
        it("contains a spec with an expectation", () -> {
            expect(40 + 2).toEqual(42);
        });
    });
}}
请考虑,它是由RSPEC和其他人启发的。 刚刚达到1.0

从页面上

在行为驱动开发中,面向客户的特性(称为 故事)以给定的when-then格式进行描述。斯波克直接 使用给定的:标签支持此规格样式:


黄瓜是BDD,但和RSpec是完全不同的动物?如果OP包含了一些如何实现这样一个lib的想法,那么这个问题就不会结束。但在SO中,它仍然是离题的,而在programmers.SE中,它仍然是离题的。但是问“有没有这样的库?”肯定会把你的问题解决。Ginkgo4j——一个使用lambda’s的RSpec的Java端口,
spock
使用GroovySing groovy可能很有趣,这正是我们不喜欢它的原因
> given: "an empty bank account" // ...
> 
> when: "the account is credited $10" // ...
> 
> then: "the account's balance is $10" // ... As noted