{"id":13711996,"url":"https://github.com/cucumber/cucumber-java-skeleton","last_synced_at":"2025-05-14T21:09:39.641Z","repository":{"id":14938106,"uuid":"17662625","full_name":"cucumber/cucumber-java-skeleton","owner":"cucumber","description":"This is the simplest possible setup for Cucumber-JVM using Java.","archived":false,"fork":false,"pushed_at":"2025-04-05T05:02:38.000Z","size":1157,"stargazers_count":478,"open_issues_count":3,"forks_count":630,"subscribers_count":103,"default_branch":"main","last_synced_at":"2025-04-09T22:23:42.180Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cucumber.png","metadata":{"funding":{"open_collective":"cucumber","github":"cucumber"},"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-03-12T10:06:15.000Z","updated_at":"2025-04-05T05:02:41.000Z","dependencies_parsed_at":"2023-12-19T06:57:14.820Z","dependency_job_id":"d26f810b-da13-4628-89cf-fd4d266069d0","html_url":"https://github.com/cucumber/cucumber-java-skeleton","commit_stats":{"total_commits":294,"total_committers":15,"mean_commits":19.6,"dds":0.6666666666666667,"last_synced_commit":"3698b6d2d2750027cabe6d7607cebe020e5c9a20"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cucumber%2Fcucumber-java-skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cucumber%2Fcucumber-java-skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cucumber%2Fcucumber-java-skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cucumber%2Fcucumber-java-skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cucumber","download_url":"https://codeload.github.com/cucumber/cucumber-java-skeleton/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248753372,"owners_count":21156263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T23:01:13.831Z","updated_at":"2025-04-13T17:37:09.727Z","avatar_url":"https://github.com/cucumber.png","language":"Java","funding_links":["https://opencollective.com/cucumber","https://github.com/sponsors/cucumber"],"categories":["By Technology"],"sub_categories":["Java"],"readme":"# Cucumber-Java Skeleton\n\nThis is the simplest possible setup for Cucumber using Java. There is nothing\nfancy like a webapp or browser testing. All this does is to show you how to\nset up and run Cucumber!\n\nThere is a single feature file with one scenario. The scenario has three steps,\ntwo of them pending. See if you can make them all pass!\n\nTo write assertions the project comes with [AssertJ](https://assertj.github.io/doc/#assertj-core-assertions-guide)\nincluded. \n\n## Get the code\n\nGit:\n\n    git clone https://github.com/cucumber/cucumber-java-skeleton.git\n    cd cucumber-java-skeleton\n\nSubversion:\n\n    svn checkout https://github.com/cucumber/cucumber-java-skeleton/trunk cucumber-java-skeleton\n    cd cucumber-java-skeleton\n\nOr [download a zip](https://github.com/cucumber/cucumber-java-skeleton/archive/main.zip) file.\n\n## Run the tests\n### Use Maven\n\nOpen a command window and run:\n\n    cd maven\n    ./mvnw test\n\nThis runs Cucumber features using Cucumber's JUnit Platform Engine. The `Suite`\nannotation on the `RunCucumberTest` class tells JUnit to kick off Cucumber.\n\n### Use Gradle\n\nOpen a command window and run:\n\n    cd gradle\n    ./gradlew test --rerun-tasks --info\n\nThis runs Cucumber features using Cucumber's JUnit Platform Engine. The `Suite`\nannotation on the `RunCucumberTest` class tells JUnit to kick off Cucumber.\n\n## Configuration \n\nThe [Cucumber JUnit Platform Engine](https://github.com/cucumber/cucumber-jvm/tree/main/cucumber-junit-platform-engine) uses configuration parameters to know what features to run,\nwhere the glue code lives, what plugins to use, etc. When using JUnit, these\nconfiguration parameters are provided through the `@ConfigurationParameter`\nannotation on your test.\n\nFor available parameters see: `io.cucumber.junit.platform.engine.Constants`\n\n## Run a subset of Features or Scenarios\n\nSpecify a particular scenario by *line*\n\n    @SelectClasspathResource(value = \"io/cucumber/skeleton/belly.feature\", line = 3)\n\nIn case you have multiple feature files or scenarios to run against repeat the\nannotation.\n\nYou can also specify what to run by *tag*. \n\nFirst add a tag to a scenario:\n\n```feature\nFeature: Belly\n\n  @Zucchini\n  Scenario: a few cukes\n```\n\nThen add an annotation to `RunCucumberTest`.\n\n```java\n@IncludeTags(\"Zucchini\")\n```\n\nWhen using Maven, tags can be selected from the CLI using the `groups` and `excludedGroups` parameters. These take a\n[JUnit5 Tag Expression](https://junit.org/junit5/docs/current/user-guide/#running-tests-tag-expressions). \nNote: When using JUnit, the `@` is not part of the tag.\n\n```\nmvn verify -DexcludedGroups=\"Haricots\" -Dgroups=\"Zucchini | Gherkin\"\n```\n\n### Running a single scenario or feature\n\nMaven and Gradle do not (yet) support selecting single features or scenarios\nwith JUnit selectors. As a work around the `cucumber.features` property can be\nused. Because this property will cause Cucumber to ignore any other selectors\nfrom JUnit it is prudent to only execute the Cucumber engine.\n\n#### With Maven\n\nTo select the scenario on line 3 of the `belly.feature` file use:\n\n```\n./mvnw test -Dsurefire.includeJUnit5Engines=cucumber -Dcucumber.features=src/test/resources/io/cucumber/skeleton/belly.feature:3 \n```\n\nNote: Add `-Dcucumber.plugin=pretty` to get a more detailed output during test execution.\n\n#### With Gradle\n\nTODO: (I don't know how to do this. Feel free to send a pull request. ;))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcucumber%2Fcucumber-java-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcucumber%2Fcucumber-java-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcucumber%2Fcucumber-java-skeleton/lists"}