{"id":25776553,"url":"https://github.com/concordion/concordion","last_synced_at":"2025-02-27T06:06:41.921Z","repository":{"id":7767401,"uuid":"9136067","full_name":"concordion/concordion","owner":"concordion","description":"Concordion is an open source framework for Java that lets you turn a plain English description of a requirement into an automated test.  Concordion is the most flexible tool for creating high-quality living documentation. It is often used with Specification by Example (SbE) and Behaviour Driven Development (BDD) processes.","archived":false,"fork":false,"pushed_at":"2024-09-03T21:34:34.000Z","size":20618,"stargazers_count":239,"open_issues_count":33,"forks_count":67,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-01-16T14:31:44.915Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.concordion.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/concordion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2013-03-31T20:42:48.000Z","updated_at":"2024-08-26T11:44:12.000Z","dependencies_parsed_at":"2023-12-23T07:27:44.117Z","dependency_job_id":"2658f92e-3b86-4a7a-944d-7220819faec9","html_url":"https://github.com/concordion/concordion","commit_stats":{"total_commits":702,"total_committers":22,"mean_commits":31.90909090909091,"dds":"0.31196581196581197","last_synced_commit":"21c7dcfaffd3f5469f8bf5b7c1a4b503b31fcc95"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concordion%2Fconcordion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concordion%2Fconcordion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concordion%2Fconcordion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concordion%2Fconcordion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/concordion","download_url":"https://codeload.github.com/concordion/concordion/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240987435,"owners_count":19889334,"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":"2025-02-27T06:01:26.604Z","updated_at":"2025-02-27T06:06:41.916Z","avatar_url":"https://github.com/concordion.png","language":"Java","funding_links":[],"categories":["测试","Popular Frameworks"],"sub_categories":["Behavior Driven Development (BDD)"],"readme":"![Build Status](https://github.com/concordion/concordion/actions/workflows/ci.yml/badge.svg)\n[![Maven Central](https://img.shields.io/maven-central/v/org.concordion/concordion.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.concordion%22%20AND%20a%3A%22concordion%22)\n[![Apache License 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)\n\n[Concordion](http://www.concordion.org) is an open source runner for executable specifications that creates rich living documentation.\n\nUsers should see the [Concordion](http://www.concordion.org) web site for details of how to download and use Concordion.\n\nThis README covers information for people wanting to work with the Concordion Java source code. \nUnmaintained versions of Concordion are also available for other languages, but not with the full feature set. \nSee [Concordion.NET](https://github.com/concordion/concordion.net), [pyconcordion](https://pypi.org/project/pyconcordion2/) and [ruby-concordion](https://github.com/arielvalentin/ruby-concordion).\n\n# Target Java version\nConcordion currently targets Java 8 and above.\n\n# Building Concordion\nConcordion uses [Gradle](http://www.gradle.org/) as a build tool. The code base includes the Gradle Wrapper, which will automatically download the correct version of Gradle.\n\nFrom the command line, run `gradlew tasks` to show available tasks. \n\nNote: If the current directory is not on your path, you will need to use `./gradlew tasks` on Unix-based systems, or `.\\gradlew tasks` on Windows.\n\n## Compiling and Running the Tests\n\nThe `test` task runs both the Concordion specification tests and unit tests. \nSince Concordion supports both JUnit Vintage and JUnit Jupiter, the tests can run with either version of JUnit.  \n\nTo run the tests with JUnit Jupiter, run the following from the command line:\n\n```gradlew clean test```\n\nTo run the tests with JUnit Vintage, run the following from the command line:\n\n```gradlew clean testVintage```\n\nThis will download the required dependencies, clean the existing project, recompile all source code and run all the tests. \nThe Concordion specification output is written to the `./build/reports/spec` folder.\n\n### Pre-processor\nTo switch between the JUnit Jupiter and Vintage tests, Concordion uses the [Manifold](http://manifold.systems/) preprocessor. \n\nFor example:\n\n```\n#if JUNIT_VINTAGE\n@RunWith(ConcordionRunner.class)\n#else\n@ConcordionFixture\n#endif\n```\n\nThe `JUNIT_VINTAGE` compiler argument is set by the `testVintage` Gradle task.\n\n## Creating a jar file\n\nRun the following from the command line:\n\n```gradlew clean jar```\n\nThe jar file is written to the `./build/libs` folder.\n\n## Installing a jar file into your local Maven repository\n\nInstalling a Concordion jar file into your local Maven repository makes it available to other projects that are using Maven or Gradle to manage their dependencies.\n\nRun the following from the command line:\n\n```gradlew pTML```\n\n(where pTML is short for publishToMavenLocal).\n\n### Using the Concordion jar file from your local Maven repository in a Gradle project\n\nIn order to use the local Maven repository in a Gradle project, you must add `mavenLocal()` to your `repositories` block. You can add this to the project's build.gradle script, or set it globally by adding the following to your ~/.gradle/init.gradle script:\n\n```\nallprojects {\n    repositories {\n        mavenLocal()\n    }\n}\n```\n\nYou will then need to ensure that your project's build.gradle script refers to the version you have in your local Maven repository, for example your dependencies might include:\n\n    org.concordion:concordion:2.0.0-SNAPSHOT\n\nor\n\n    org.concordion:concordion:+\n\nfor the latest version.\n\n# Importing the project into your IDE\nDependent on the version of your IDE, you may need to install a Gradle plugin to your IDE before importing the project. See [Gradle tooling](https://www.gradle.org/tooling) for details.\n\nOn importing the project to your IDE, the required dependencies will be downloaded.\n\nFor IntelliJ IDEA, installing the [Manifold plugin](https://plugins.jetbrains.com/plugin/10057-manifold) will enable\nIntelliJ to recognise the Manifold preprocessor syntax.\n\n# Wiki\nSee the [wiki](https://github.com/concordion/concordion/wiki) for our version numbering approach and details of making a new release.\n\nProject History\n=========\nHistory prior to April 2013 is in Google code archive [code](https://code.google.com/archive/p/concordion/source/default/source) and [history](https://code.google.com/archive/p/concordion/source/default/commits).\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconcordion%2Fconcordion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconcordion%2Fconcordion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconcordion%2Fconcordion/lists"}