A small Gherkin DSL parser that generates stub code
Project description
Cornichon
Introduction
A small Gherkin DSL parser which reads in a feature file and produces stub code against a given test framework. This allows BDD to be integrated into new and existing projects without the need to depend on Cucumber.
The generated code is split into two files - the tests themselves and a set of scenario classes. This is to allow for:
- easier version control of the source code
- re-use of the scenario classes generation between unit test frameworks for the same language
The parser is written in Python and loads plug-ins for the desired output type.
Usage
A very basic test generator might look like
import cornichon
# Read the Gherkin DSL
f = open("example.feature", "r")
gherkin = f.readlines()
f.close()
# Only need to call Settings for the test framework as it builds
# on those settings for the scenarios
settings = cornichon.Settings("cpp/cppunittest")
settings["rootnamespace"] = "Cornichon::"
settings["scenarios file"] = "example.h"
# Generate the tests
fp = open("example.cpp", "w")
fp.write(cornichon.Generate(gherkin, settings, "cpp/cppunittest"))
fp.close()
# Generate the test scenarios
fp = open("example.h", "w")
fp.write(cornichon.Generate(gherkin, settings, "cpp/cppscenarios"))
fp.close()
The values of the settings can be listed,
cornichon.PrintSettings(settings)
An explanation of those values can be printed,
cornichon.HelpSettings("cpp/cppunittest")
The list of available output types can be printed,
cornichon.ListModules()
Test frameworks
C++
The scenario classes are generated using cpp/cppscenarios
.
The supported frameworks are:
cpp/cppunittest
- Microsoft's Visual C++ test frameworkcpp/googletest
- Google Test
C#
The scenario classes are generated using cs/csscenarios
.
The supported frameworks are:
cs/nunit
- NUnitcs/unittesting
- Microsoft's Unit Testing framework
Python
The scenario classes are generated using py/pyscenarios
.
The supported frameworks are:
py/pytests
- pytest, the pytest frameworkpy/pyunit_tests
- unittest, the standard Python unit testing framework
Visual Basic
The scenario classes are generated using vb/vbscenarios
.
The supported frameworks are:
vb/nunit
- NUnitvb/unittesting
- Microsoft's Unit Testing framework
Contributing
Contributions are welcome. Please read the testing documentation.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cornichon-0.9.6.tar.gz
.
File metadata
- Download URL: cornichon-0.9.6.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf56377a4fcb286397d14ebf4cd41d4bca102afabaff81b293070beaafd4448e |
|
MD5 | cf58d63646b3f628b849e3136fd16a6f |
|
BLAKE2b-256 | 384bf76c4f9d11e4543c9807b458f50132f95b30d16f15c6f541e724848a2247 |
File details
Details for the file cornichon-0.9.6-py3-none-any.whl
.
File metadata
- Download URL: cornichon-0.9.6-py3-none-any.whl
- Upload date:
- Size: 29.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e241caadf7823d7c2a2a702494abbf099f0541296ae4f5d936aeef7e2c030be0 |
|
MD5 | 75bdb921d2352eac6cbf6821069b71ca |
|
BLAKE2b-256 | 96579001d4e785ec03f3b6f207377eb0f916333f2d8b0bdb9d49ef9686ad288c |