New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suites #821
Comments
Want want! |
@mattwynne I'm pretty interested in this. In an effort to minimize UI testing, I've been trying to carefully word steps so that they imply either a domain model, like a controller with no view attached or a fully connected app with a clickable view and controller, but I feel like I'm dancing around something more fundamental and leaving a confusing trail of nuanced wording. For example, a step: Is that similar to your example? |
Yes similar @richarda. This is getting off-topic a bit, but what are you trying to cancel? I'd try and express the intent behind the step - the action the user is trying to perform, and try to stop thinking about the interaction. I find that helps me name the methods on my lower level APIs. We're going to explore this some more in the last Cucumber School, so stay posted for that! |
Thanks @mattwynne . You raise a very good point. Taking a closer look, there were 2 slightly different intents.
Maybe there is a better scenario that covers all of that together, but it seemed valuable to try and minimize the UI interactions and be a little more granular with the behaviors. However, based on reviewing this right now, in this case I might actually just delete the non-UI scenario. I can't remember which scenario went in first, but at this point, the UI is still necessary to keep around for regressing, and the domain model version is probably better as a unit test. BTW, I'm using a C# app with SpecFlow as the example here, but I prefer exploring Cucumber with Ruby :). So back to suites, Thanks! |
Hi @richarda - sorry for the lag. Here's an example I can imagine. You have a set of scenarios that you want to run on both an iOS and an Android app. A few of the scenarios don't apply to one platform or the other and have tags to mark them as such. You have a mechanism for choosing the appropriate world to drive the the iOS or Android app. Right now, the build runs like this:
The disadvantage here is that you get two sets of results. With suites, you'd be able to configure them like this:
Then when you run Make sense? |
@mattwynne Yes. That makes sense. I will look around and see where the |
@mattwynne sorry for the delay/slow progress. I started a PR, #917, with a |
There's a related use case for this that I keep running into, that is to test the same functionality in multiple locales. Here's something more complicated still: test translation software, and you have a matrix of locales and translation language to test. There's an argument to be made that functionally speaking, one combination of locale and translation language should have enough coverage, but practically speaking, that ignores unicode weirdness. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in a week if no further activity occurs. |
This issue has been automatically closed because of inactivity. You can support the Cucumber core team on opencollective. |
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. |
See https://github.com/Behat/Behat/blob/master/features/suite.feature
This would run the features twice, applying the specified filters and mixing in the specified world modules. The overall result would aggregate results from both suites.
The text was updated successfully, but these errors were encountered: