Comments (9)
This has broken passing back a custom object as the world
. For example, I can no longer do this:
//world.js
module.exports = function (callback) {
var myworld = {
doStuff: function (){}
}
callback(myworld);
}
Instead I now have to do this:
//world.js
module.exports = function (callback) {
var myworld = {
doStuff: function (){}
}
callback();
return myworld;
}
This should be pointed out in documentation.
from cucumber-js.
Damn, I kind of stupidly hoped nobody was doing that just yet.
I had a second thought on the callback parameter thingy and felt it was overcomplicating the API. However, your example is enough to convince me I was wrong. Cucumber.js is actually using a lot of those "inner-constructors" in its own API.
I'll add it back soon.
from cucumber-js.
As an aside you should look into SemVer, which provides nice guidelines on how to assign version numbers to your releases.
In SemVer, it describes how patch version (x.y.Z) must only fix bugs, without introducing backwards incompatible changes to the code. This allows the rest of us to hang off of the x.y.* branch, automatically updating and all the while fixing bugs, without having to change our code.
from cucumber-js.
Nevertheless, thanks for your hard work on this. Using it is great fun and I appreciate what you've done.
from cucumber-js.
You are right, it's the second time I receive complaints about the version numbers. Up until now, I've considered minor numbers to be milestones and patch numbers to be steps within them. There were no more granular version numbers to announce fixes.
I'll stop linking milestones to minor versions and consider patch numbers to be fixes only. Because of the current scheme, we've been stuck on 0.2 for months and it does not make sense anymore.
Thank you for your feedback and encouragement.
from cucumber-js.
@keithamus I was reading the SemVer spec and the fifth rule states the following:
Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.
We're still in this initial development phase and I think it makes sense to use minor versions to refer to "initial development milestones".
Milestones 0.3 and 0.4 will have to be completed before we can consider releasing 1.0.
As soon as we hit 1.0, the versioning will be strict and patch versions will contain backward-compatible changes only.
from cucumber-js.
@keithamus 0.2.12 was released. You can pass a world object to the constructor callback again.
from cucumber-js.
Great to hear. Will give it a try tomorrow. Thanks for the quick work!
from cucumber-js.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from cucumber-js.
Related Issues (20)
- Update Test Step Status programmatically
- Recent tmp update breaks cucumber-js on Node14 HOT 4
- getting the report after running cucumber programmatically HOT 1
- Inject steps at runtime HOT 1
- Question - How to provide multiple feature file path in cucumber.js file HOT 1
- can we use this with cypress and typescript HOT 1
- Background steps are reported without keyword Background in json report HOT 9
- Step with result status = pending does not contain an error_message HOT 1
- worldParameters not modifiable using Before and After hooks after updating to the latest versions after v10.0.1 HOT 4
- ESM with TS not working HOT 1
- ESM mode with ts-node breaks TypeScript path alias resolution in cucumber-js HOT 5
- JSON format issue, especially with larger reports, such as 500MB in size HOT 4
- CustomWorld Context Retention between Steps of the same Scenario: (JS Only) Backwards Compatibility (Known to be affected 8.11.1-9.6.0) && 10.8.0 with TS 5.4.5 HOT 7
- Facing Issue with Parallelism in Jenkins while running Playwright Cucumber tests HOT 8
- Running Cucumber In the Browser?
- Obsolete dependencies
- Concurrency: Allow IPC between workers and coordinator, and/or custom Runtime impls HOT 4
- Cucumber Report and local output is different for playwright-cucumber.js
- Implement unified runner concept
- Progress Formatter Error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cucumber-js.