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/unittesting
- Microsoft's Unit Testing frameworkcs/nunit
- NUnit
Python
The scenario classes are generated using py/pyscenarios
.
The supported frameworks are:
py/pyunit_tests
- unittest, the standard Python unit testing framework
Visual Basic
The scenario classes are generated using vb/vbscenarios
.
The supported frameworks are:
vb/unittesting
- Microsoft's Unit Testing frameworkvb/nunit
- NUnit
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
Hashes for cornichon-0.9.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b47ef621e0ff1eca596783304bb4822a729cda30de8a4e58432d7751a19f8b9 |
|
MD5 | fbe0f5d7a84ea3b72a9bf8fc777d27a9 |
|
BLAKE2b-256 | 4a63a304895aa3726b4fd783f2066ac4779b5e627cdcfda26a0e7d9a09e40f4d |