Updated README.md and added release-notes/v0.9.0.md

Этот коммит содержится в:
Fredrik Lönnblad 2020-03-06 10:33:47 -03:00
родитель 1ec64e1951
коммит 35ca4e84d3
3 изменённых файлов: 74 добавлений и 2 удалений

Просмотреть файл

@ -61,8 +61,15 @@ When automated testing is this much fun, teams can easily protect
themselves from costly regressions.
## Install
```
go get github.com/cucumber/godog/cmd/godog@v0.9.0
```
Adding `@v0.9.0` will install v0.9.0 specifically instead of master.
go get github.com/cucumber/godog/cmd/godog
Running `within the $GOPATH`, you would also need to set `GO111MODULE=on`, like this:
```
GO111MODULE=on go get github.com/cucumber/godog/cmd/godog@v0.9.0
```
## Example

Просмотреть файл

@ -39,4 +39,4 @@ Godog was inspired by Behat and Cucumber the above description is taken from it'
package godog
// Version of package - based on Semantic Versioning 2.0.0 http://semver.org/
const Version = "v0.8.1"
const Version = "v0.9.0"

65
release-notes/v0.9.0.md Обычный файл
Просмотреть файл

@ -0,0 +1,65 @@
I am excited to announce the release of godog v0.9.0.
Here follows a summary of notable changes, and the non backward compatible changes.
The full change log is available [here](https://github.com/cucumber/godog/blob/master/CHANGELOG.md).
Notable Changes
----------------
Most importantly, note that the gherkin core is changed to [gherkin-go](https://github.com/cucumber/gherkin-go/releases/tag/v9.2.0).
Non backward compatible changes
-------------------------------
### Install godog
With the change of dependencies for godog, which relies on `go modules`, installing godog now requires go modules to be active.
If you are running `within the $GOPATH`, you would need to install godog like this:
`GO111MODULE=on go get github.com/cucumber/godog/cmd/godog@v0.9.0`
- Adding `GO111MODULE=on` will allow go get and go mod to work together as intended.
- Adding `@v0.9.0` will install v0.9.0 specifically instead of master.
If you are running `outside of the $GOPATH`, you should still specify a version.
### Gherkin Core
The following types have been switched for [messages-go](https://github.com/cucumber/messages-go).
| old | new |
| ----------------------- | ------------------------------------------- |
| gherkin.Feature | messages.GherkinDocument |
| gherkin.Scenario | messages.Pickle |
| gherkin.ScenarioOutline | messages.Pickle |
| gherkin.Step | messages.Pickle_PickleStep |
| gherkin.DocString | messages.PickleStepArgument_PickleDocString |
| gherkin.DataTable | messages.PickleStepArgument_PickleTable |
### Step Defintions
- `StepDef` has been renamed to `StepDefinition`
- Steps that earlier accepted `*gherkin.DocString` or `*gherkin.DataTable` needs to be updated to use `*messages.PickleStepArgument_PickleDocString` resp. `*messages.PickleStepArgument_PickleTable`.
[Example](https://github.com/cucumber/godog/pull/240/files#diff-a5f59d298843b731ff8d2f9c670303ff).
### Hooks
The updated hooks can be found [here](https://github.com/cucumber/godog/blob/b62eb13ee70c9f0f732b694b39bde9670051bac7/suite.go#L251).
- `BeforeFeature` and `AfterFeature` hooks now accept `*messages.GherkinDocument` instead of `*gherkin.Feature`
- `BeforeScenario` and `AfterScenario` hooks now accept `*messages.Pickle` instead of `interface{}`
- `BeforeStep` and `AfterStep` hooks now accept `*messages.Pickle_PickleStep` instead `*gherkin.Step`
### Formatter
The formatter interface have recieved some updates, the updated version can be found [here](https://github.com/cucumber/godog/blob/b62eb13ee70c9f0f732b694b39bde9670051bac7/fmt.go#L100).
- `Feature` now accepts `*messages.GherkinDocument` instead of `*gherkin.Feature`
- `Node` has been renamed to `Pickle` and now accepts `*messages.Pickle` instead of `interface{}`
- `Defined`, `Failed`, `Passed`, `Skipped`, `Undefined`, `Pending` now takes `*messages.Pickle` as the first argument and `*gherkin.Step, *StepDef` have been updated to `*messages.Pickle_PickleStep, *StepDefinition`
Full change log
---------------
See [CHANGELOG.md](https://github.com/cucumber/godog/blob/master/CHANGELOG.md).