All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
This document is formatted according to the principles of Keep A CHANGELOG.
- fix(formatter): On concurrent execution, execute formatter at end of Scenario - (645 - tigh-latte)
- Improved the type checking of step return types and improved the error messages - (647 - johnlon)
- Ambiguous step definitions will now be detected when strict mode is activated - (636/(648 - johnlon)
- Provide support for attachments / embeddings including a new example in the examples dir - (623 - johnlon)
- Formatters now have a
Close
method and associatedio.Writer
changed toio.WriteCloser
.
- Provide testing.T-compatible interface on test context, allowing usage of assertion libraries such as testify's assert/require - (571 - mrsheepuk)
- Created releasing guidelines - (608 - glibas)
- Step duration calculation - (616 - iaroslav-ciupin)
- Invalid memory address or nil pointer dereference in RetrieveFeatures - (566 - corneldamian)
- Remove line overwriting for scenario outlines in cucumber formatter (605 - glibas)
- Remove duplicate warning message (590 - vearutop)
- updated base formatter to set a scenario as passed unless there exist (582 - roskee)
- Support for reading feature files from an
fs.FS
(550 - tigh-latte) - Added keyword functions. (509 - otrava7)
- Prefer go test to use of godog cli in README (548 - danielhelfand)
- Use
fs.FS
abstraction for filesystem (550 - tigh-latte) - Cancel context for each scenario (514 - draganm)
- Improve hooks invocation flow (568 - vearutop)
- Result of testing.T respect strict option (539 - eiel)
- Each scenario is run with a cancellable
context.Context
which is cancelled at the end of the scenario. (514 - draganm) - README example is updated with
context.Context
andgo test
usage. (477 - vearutop) - Removed deprecation of
godog.BindFlags
. (498 - vearutop) - Pretty Print when using rules. (480 - dumpsterfireproject)
- Fixed a bug which would ignore the context returned from a substep.(488 - wichert)
- Fixed a bug which would cause a panic when using the pretty formatter with a feature that contained a rule. (480 - dumpsterfireproject)
- Multiple invocations of AfterScenario hooks in case of undefined steps. (494 - vearutop)
- Add a check for missing test files and raise a more helpful error. (468 - ALCooper12)
- Fix version subcommand. Do not print usage if run subcommand fails. (475 - coopernurse)
- Add new option for created features with parsing from byte slices. (476 - akaswenwilk)
- Changed underlying cobra command setup to return errors instead of calling
os.Exit
directly to enable simpler testing. (454 - mxygem) - Remove use of deprecated methods from
_examples
. (460 - ricardogarfe)
- Automated binary releases with GitHub Actions (437 - vearutop)
- Automated binary versioning with
go install
(437 - vearutop) - Module with local replace in examples (437 - vearutop)
- suggest to use
go install
instead of the deprecatedgo get
to install thegodog
binary (449 - dmitris)
- After Scenario hook is called before After Step (444 - vearutop)
check-go-version
in Makefile to run on WSL. (443 - mxygem)
- Support for step definitions without return (364 - titouanfreville)
- Contextualized hooks for scenarios and steps (409 - vearutop)
- Step result status in After hook (409 - vearutop)
- Support auto converting doc strings to plain strings (380 - chirino)
- Use multiple formatters in the same test run (392 - vearutop)
- Added
RetrieveFeatures()
method togodog.TestSuite
(276 - radtriste) - Added support to create custom formatters (372 - leviable)
- Upgraded gherkin-go to v19 and messages-go to v16 (402 - mbow)
- Generate simpler snippets that use *godog.DocString and *godog.Table (379 - chirino)
ScenarioContext.BeforeScenario
, useScenarioContext.Before
(409) - vearutop)ScenarioContext.AfterScenario
, useScenarioContext.After
(409) - vearutop)ScenarioContext.BeforeStep
, useScenarioContext.StepContext().Before
(409) - vearutop)ScenarioContext.AfterStep
, useScenarioContext.StepContext().After
(409) - vearutop)
- Incorrect step definition output for Data Tables (411 - karfrank)
ScenarioContext.AfterStep
not invoked after a failed case (409 - vearutop))- Can't execute multiple specific scenarios in the same feature file (414 - vearutop))
- Created a simple example for a custom formatter (330 - lonnblad)
- --format junit:result.xml will now write to result.xml (331 - lonnblad)
- Added make commands to create artifacts and upload them to a github release (333 - lonnblad)
- Created release notes and changelog for v0.11.0 (355 - lonnblad)
- Created v0.11.0-rc2 (362 - lonnblad)
- Added Cobra for the Command Line Interface (321 - lonnblad)
- Added internal packages for formatters, storage and models (323 - lonnblad)
- Added an internal package for tags filtering (326 - lonnblad)
- Added an internal pkg for the builder (327 - lonnblad)
- Moved the parser code to a new internal pkg (329 - lonnblad)
- Moved StepDefinition to the formatters pkg (332 - lonnblad)
- Removed go1.12 and added go1.15 to CI config (356 - lonnblad)
- Improved the help text of the formatter flag in the run command (347 - lonnblad)
- Removed $GOPATH from the README.md and updated the example (349 - lonnblad)
- Fixed the undefined step definitions help (350 - lonnblad)
- Added a comment regarding running the examples within the $GOPATH (352 - lonnblad)
- doc(FAQ/TestMain):
testing.M.Run()
is optional (353 - hansbogert) - Made a fix for the unstable Randomize Run tests (354 - lonnblad)
- Fixed an issue when go test is parsing command-line flags (359 - lonnblad)
- Make pickleStepIDs unique accross multiple paths (366 - rickardenglund)
- Added concurrency support to the pretty formatter (275 - lonnblad)
- Added concurrency support to the events formatter (274 - lonnblad)
- Added concurrency support to the cucumber formatter (273 - lonnblad)
- Added an example for how to use assertion pkgs like testify with godog (289 - lonnblad)
- Added the new TestSuiteInitializer and ScenarioInitializer (294 - lonnblad)
- Added an in-mem storage for pickles (304 - lonnblad)
- Added Pickle and PickleStep results to the in-mem storage (305 - lonnblad)
- Added features to the in-mem storage (306 - lonnblad)
- Broke out some code from massive files into new files (307 - lonnblad)
- Added support for concurrent scenarios (311 - lonnblad)
- Broke out snippets gen and added sorting on method name (271 - lonnblad)
- Updated so that we run all tests concurrent now (278 - lonnblad)
- Moved fmt tests to a godog_test pkg and restructured the fmt output tests (295 - lonnblad)
- Moved builder tests to a godog_test pkg (296 - lonnblad)
- Made the builder tests run in parallel (298 - lonnblad)
- Refactored suite_context.go (300 - lonnblad)
- Added better testing of the Context Initializers and TestSuite{}.Run() (301 - lonnblad)
- Updated the README.md (302 - lonnblad)
- Unexported some exported properties in unexported structs (303 - lonnblad)
- Refactored some states in the formatters and feature struct (310 - lonnblad)
- Fixed failing builder tests due to the v0.9.0 change (lonnblad)
- Update paths to screenshots for examples (270 - leviable)
- Made progress formatter verification a bit more accurate (lonnblad)
- Added comparison between single and multi threaded runs (272 - lonnblad)
- Fixed issue with empty feature file causing nil pointer deref (288 - lonnblad)
- Updated linting checks in circleci config and fixed linting issues (290 - lonnblad)
- Readded some legacy doc for FeatureContext (297 - lonnblad)
- Fixed an issue with calculating time for junit testsuite (308 - lonnblad)
- Fixed so that we don't execute features with zero scenarios (315 - lonnblad)
- Fixed the broken --random flag (317 - lonnblad)
- Run godog features in CircleCI in strict mode (mxygem)
- Removed TestMain call in
suite_test.go
for CI. (mxygem) - Migrated to gherkin-go - v11.0.0. (240 - lonnblad)
- Fixed the time attributes in the JUnit formatter. (232 - lonnblad)
- Re enable custom formatters. (238 - ericmcbride)
- Added back suite_test.go (mxygem)
- Normalise module paths for use on Windows (242 - gjtaylor)
- Fixed panic in indenting function
s
(247 - titouanfreville) - Fixed wrong version in API example (263 - denis-trofimov)
- Link in Readme to the Slack community. (210 - smikulcik)
- Added run tests for Cucumber formatting. (214, 216 - lonnblad)
- Find/Replaced references to DATA-DOG/godog -> cucumber/godog for docs. (209 - smikulcik)
- Fixed missing links in changelog to be correctly included! (mxygem)
- Changed code references to DATA-DOG/godog to cucumber/godog to help get things building correctly. (mxygem)