-
Notifications
You must be signed in to change notification settings - Fork 157
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
Undefined steps in acceptance tests should fail CI #5411
Comments
@phil-davis I think many of the undefined steps comes mostly from suites such as webUITags and webUIAdminSettings. these features are not available in web but the feature files were copied from core when we first constructed tests for web 2 years ago. Maybe we can delete those suites and copy them back when these features are available in web. |
Could do so. Or we make "dummy" step definitions just have a call to make the step really fail? It would be nice if nightwatch can pre-process a scenario, and if any step definition is not found, then fail the scenario without executing any steps. That would avoid wasting time in CI, where it currently executes various |
6. webUIFileDetails: Tags page not implemented yet7. webUIFilesSearch: Tags page not implemented yet
8. webUIFilesSearch: |
9. webUISharingAcceptShares:10. webUISharingAcceptSharesToRoot: |
11. webUISharingExternalToRoot: Might need to adjust test steps12. webUISharingNotifications: Might need to adjust test steps13. webUISharingNotificationsToRoot: Might need to adjust test steps14. webUISharingPublicBasic: Might need to adjust test steps15. webUISharingPublicManagement: Public link send by email field Might need to adjust test steps
16. webUISharingPublicManagement: |
The tests related to |
I moved this out of the backlog. Can someone please report the status of this. It would be nice that if we accidentally write a typo in a feature file, that the undefined step causes the CI to fail - otherwise it is easy not to notice this kind of accidental error. |
Pretty sure this is the status as of now? We've had this a bunch of times now with the middleware |
I noticed this week the problem that if:
Then CI does not fail. The scenario now fails in a different way - it has an undefined step. But the scenario is in expected-failures so the pipeline still "passes". Maybe we can add a dry-run of all the acceptance test scenarios as a pipeline that happens "early" in CI. That could be done in a pipeline that runs at the same time as the e2e tests, or even earlier at the same time as other "lint"-related pipelines. That would catch undefined steps in feature files. |
We currently use nightwatch 1.7 and that does not seem to have a dry-run option: nightwatch 2.0.0 beta is out: nightwatchjs/nightwatch#2939 @individual-it do we:
|
We are currently pinned to nightwatch https://github.com/nightwatchjs/nightwatch/releases/tag/v1.7.11 @individual-it |
I would suggest to have a short looks how difficult and how time-consuming it would be to update nightwatch. If it requires too much refactoring I would be reluctant to update because we don't want to focus on nightwatch tests in future |
Nightwatch v2I invested some time playing around with version 2 of Nightwatch js. Major changes:
Needs more investigation
Although Demo setup with nightwatch v2Setup for a google search test automation (no source code, just test setup 😉). https://github.com/kiranparajuli589/nightwatch MigrationIn my opinion, just for the Some solutions:
|
Since we've decided that we won't be making any changes in Nightwatch tests, let alone implementing new steps, this issue is now irrelevant. Now what we can do is remove all the scenarios that have unimplemented steps. I'll create a separate issue for that. I'm closing this issue. |
new issue to remove undefined steps is here: #7215 |
Example: https://drone.owncloud.com/owncloud/web/16897/49/10
And that pipeline is using this expected-failures file:
That scenario is listed in expected-failures. So maybe that is OK?
But maybe we should always fail the pipeline when some step(s) are undefined?
The text was updated successfully, but these errors were encountered: