A Java BDD Testing Framework (based on RSpec and ginkgo)
Jump to the docs to see more.
Feature List:-
-
Structure your BDD-style tests expressively:
- Nestable Describe and Context container blocks
- BeforeEach and AfterEach blocks for setup and teardown
- It blocks that hold your assertions
- JustBeforeEach blocks that separate creation from configuration (also known as the subject action pattern).
-
Fast testing with parallel execution
-
Test runners that lets you:
- Focus tests through FDescribe, FContext and FIt constructs
- Test your Spring applications
- Java 8
- Add the ginkgo4j to your project as a test dependency. For a maven project add:
<dependency>
<groupId>com.github.paulcwarren</groupId>
<artifactId>ginkgo4j</artifactId>
<version>1.0.14</version>
<scope>test</scope>
</dependency>
or for a Gradle project add:
compile 'com.github.paulcwarren:ginkgo4j:1.0.14'
or for a Gradle 7 project add:
dependencies {
testImplementation 'com.github.paulcwarren:ginkgo4j:1.0.14'
}
for other build systems see here.
- Create a junit test class
- Add the following imports:
import org.junit.runner.RunWith;
import static com.github.paulcwarren.ginkgo4j.Ginkgo4jDSL.*;
import com.github.paulcwarren.ginkgo4j.Ginkgo4jConfiguration;
import com.github.paulcwarren.ginkgo4j.Ginkgo4jRunner;
- Annotate your test class with:-
@RunWith(Ginkgo4jRunner.class)
- And the following template:
{
Describe("Replace me", () -> {
It("Replace me too", () -> {
fail("Not yet implemented");
});
});
}
- Optionally, you can control the number of threads used with
@Ginkgo4jConfiguration(threads = 1)
- Add the following imports:-
import org.junit.runner.RunWith;
import static com.github.paulcwarren.ginkgo4j.Ginkgo4jDSL.*;
import com.github.paulcwarren.ginkgo4j.Ginkgo4jSpringRunner;
- Annotate your test class with:-
@RunWith(Ginkgo4jSpringRunner.class)
- Add the following template:
{
Describe("Replace me", () -> {
It("Replace me too", () -> {
fail("Not yet implemented");
});
});
}
@Test
public void noop() {
}