community/cypher/spec-suite-tools/README.md
This module uses Cucumber libraries. See documentation at:
cucumber.properties.The full suites runs in parallel and is much faster for this reason. They can be run both from the IDE and are also run as part of maven builds.
See classes in:
CypherFeatureAcceptanceTests.scalaCypherFeatureTckTests.scalaPrettifierFeatureTests.scala@fails -
expect failure in all configurations.@fails:parallel-runtime, @fails:cypher-5, @fails:db-format-multiversion, ... -
expected failure in specific configuration.@conf:key=value, @conf:internal.cypher.enable_extra_semantic_features=ExperimentalCypherVersions, ... -
scenario needs extra configuration, like a feature flag.@ignore -
skip scenario in all configurations. Avoid if possible!@ignore:parallel-runtime, @ignore:cypher-5, @ignore:db-format-multiversion... -
skip scenario in specific configuration. Avoid if possible!Some starting points:
CypherCucumberSteps.scala contains a trait with definitions of the steps we can use.
Implementing classes contains the assertions.TestConf.scala contains definitions of the configurations we can run in.TestFrameworkTests.feature (and accompanying CypherCucumberTest.scala) contains tests of the test framework,
it's good practice to add test cases here when extending the steps.