https://github.com/mariocairone/cucumbersome
A small, lightweight framework to speed up testing using cucumber
https://github.com/mariocairone/cucumbersome
cucumber integration-tests test-framework testcontainers
Last synced: 8 months ago
JSON representation
A small, lightweight framework to speed up testing using cucumber
- Host: GitHub
- URL: https://github.com/mariocairone/cucumbersome
- Owner: mariocairone
- License: mit
- Created: 2019-09-18T14:30:33.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-12-16T16:55:03.000Z (over 4 years ago)
- Last Synced: 2025-03-26T20:05:17.388Z (over 1 year ago)
- Topics: cucumber, integration-tests, test-framework, testcontainers
- Language: Java
- Homepage:
- Size: 456 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Cucumbersome
[](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome)

   
[](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome)
[](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome) [](https://sonarcloud.io/dashboard?id=mariocairone_cucumbersome)

Cucumbersome is a small framework created to speed up the testing process using cucumber framework.
The scope of the framework is to provide a collection of predefined steps to test system integrations using the following technologies:
- HTTP
- AMQP
- SQL
Here is the list of available modules:
- [core](core/README.md)
- [http](http/README.md)
- [database](database/README.md)
- [mock](mock/README.md)
- [rabbitmq](rabbitmq/README.md)
- [variables](variables/README.md)
## Features
- Pre-Defined Steps definition for the supported transports.
- Integrated [Template Engine][30bd4b1c], everywhere you can pass a String it can be a template.
- Better with [TestContainers][ed98778a]
- Works with [Cucumber Eclipse Plugin][1790edb3]
## Getting Started
* Add dependencies for each module you wish to use in your `pom.xml`
```xml
com.mariocairone.cucumbersome
[module name]
[version]
test
```
You can also build the `.jar` files yourself, assuming you have Maven and JDK 1.8+ installed:
```shell
mvn clean install
```
The resulting `.jar` files will be located in the modules `target/` folder.
You can also find `SNAPSHOT` builds of the latest and greatest changes to the master branch in the SonaType snapshots repository.
To add that snapshot repository to your Maven pom.xml use the following snippet:
```xml
oss-sonatype
oss-sonatype
https://oss.sonatype.org/content/repositories/snapshots/
true
```
* Create the test class with the package glue __com.mariocairone.cucumbersome.steps__
```java
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(plugin = { "pretty", "html:target/cucumber",
"json:target/cucumber/cucumber.json",
"junit:target/cucumber/cucumber.xml"},
glue = {"com.mariocairone.cucumbersome.steps"},
features = "classpath:features",
strict = true)
public class CucumbersomeIT {
}
```
* (Optional) Create the configuration file `cucumbersome.properties`.
Example:
```
http.request.log=true
http.response.log=true
http.request.baseUrl=http://localhost
http.request.basePath=/
http.request.port=8080
```
*Please refer to the module documentation for the list of available properties.*
* Write your feature file

* Run the test
```shell
mvn clean verify
```
## Prerequisites
To build the framework the following tools are required:
* Java Development Kit 1.8
* Maven
* Docker
## Installing
Clone the repository and install the framework in your maven repository running the following command:
```shell
mvn clean install
```
## Running the tests
```shell
mvn clean test
```
## Deployment
To Deploy the framework in your remote maven repository:
* configure the distribution management section in the parent pom
* run the command:
```shell
mvn clean deploy
```
## Built With
* [Maven](https://maven.apache.org/) - Dependency Management
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
## Versioning
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/mariocairone/cucumbersome/tags).
## Authors
* **Mario Cairone** - *Initial work*
See also the list of [contributors](https://github.com/mariocairone/cucumbersome/contributors) who participated in this project.
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
[30bd4b1c]: https://github.com/badlogic/basis-template "Basis Template"
[ed98778a]: https://www.testcontainers.org/ "TestContainers"
[1790edb3]: https://marketplace.eclipse.org/content/cucumber-eclipse-plugin "Cucumber Eclipse Plugin"