Skip to content
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

[DRAFT]👷 test robustness #230

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
Draft

[DRAFT]👷 test robustness #230

wants to merge 10 commits into from

Conversation

CedricGatay
Copy link
Contributor

Try to fiabilize test chain by :

  • splitting integration tests (the ones requiring wiremock to run) and unit tests
  • condition test running on iOS behavior (some tests are not possible to run on iOS < 14)
  • tests relying on main queue dispatch are really flaky, added a way to override the queue to use)

@CedricGatay CedricGatay requested a review from a team as a code owner August 2, 2021 12:34
@CedricGatay CedricGatay marked this pull request as draft August 2, 2021 12:38
@CedricGatay CedricGatay force-pushed the build/testRobustness branch 3 times, most recently from 101b729 to fedc3d9 Compare August 2, 2021 15:40
Split unit tests and functional tests

  * keep on using `multi_scan` as long as we've not narrow down flaky tests
  * divided in two `multi_scan` parts and auto-install certificates on simulator (through `xcrun` instead of external gem)
  * added quick `nc` check before running test to fail early if wiremock is not run

Still needs to be tested on github action side
Allow to override dispatch_queue for testing BannerView, main queue might be too occupied for the test to succeed.
Open app store test never succeeds on versions lower than 14, earlier versions are opening browser to app store.
CR_NetworkManagerTest relies on local wiremock server, moved it out of unit test test plan and moved it to functional one.
API_AVAILABLE does not prevent test for running on older iOS version
Allow the UI to "breathe" before marking creative loading expectation as a success, as it often goes too fast with expectations against loading webview phase (executing JS sooner that it should).
Started to split out runs of tests for functional or unit ones.
Use multi-jobs pipeline for release task too.
Split tests to avoid stupid test flakyness due to bad global state / mocking.
Tests are way to flaky to be run without multiscan
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant