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

Add missing iOS test scaffolding in flutter/plugins plugins #83357

Closed
11 tasks done
stuartmorgan opened this issue May 25, 2021 · 5 comments
Closed
11 tasks done

Add missing iOS test scaffolding in flutter/plugins plugins #83357

stuartmorgan opened this issue May 25, 2021 · 5 comments
Assignees
Labels
c: tech-debt Technical debt, code quality, testing, etc. P1 High-priority issues at the top of the work list package flutter/packages repository. See also p: labels. platform-ios iOS applications specifically team Infra upgrades, team productivity, code health, technical debt. See also team: labels.

Comments

@stuartmorgan
Copy link
Contributor

stuartmorgan commented May 25, 2021

Currently there are combinations of x that don't have that test type set up at all. This is a significant problem for incoming PRs—we are being much more rigorous about enforcing the need for tests than has been true in the past for flutter/plugins, but it's frequently the case that a native test should be at least part of that testing strategy, and there's nowhere for a new contributor to add that test. Asking someone who is new to the repo to actually set up, say, XCTests, for the first time for a plugin is not really realistic, so PRs get stalled.

To avoid this, we should add some minimal initial test of each type where it's missing. (Note that backfilling meaningful coverage of those test types is out of scope here.)

Based on an initial audit, it looks like we need (with rough priorities based on complexity of code and incoming PR rate):

Native unit (XCTest):

  • google_maps_flutter - high
  • video_player - high
  • camera - medium
  • url_launcher - medium
  • ios_platform_images - low
  • path_provider - low
  • shared_preferences - low

Native UI (XCUITest):

  • webview_flutter - high
  • google_sign_in - medium?
  • google_maps_flutter - low? (There's an inspector that allows querying native map state)
  • camera - investigate if there's any UI to test Simulator does not have camera support
@stuartmorgan stuartmorgan added team Infra upgrades, team productivity, code health, technical debt. See also team: labels. platform-ios iOS applications specifically plugin P1 High-priority issues at the top of the work list c: tech-debt Technical debt, code quality, testing, etc. labels May 25, 2021
@stuartmorgan
Copy link
Contributor Author

/cc @jmagman

We may want sub-bugs, but I figured we'd wait until we know how this work is being divided up to see if that's useful.

@jmagman
Copy link
Member

jmagman commented Jun 3, 2021

camera unit tests target added with flutter/plugins#4005.

@jmagman
Copy link
Member

jmagman commented Jun 4, 2021

Done all the ones listed. Closing.

@stuartmorgan If there's more you need let me know.

@jmagman jmagman closed this as completed Jun 4, 2021
@stuartmorgan
Copy link
Contributor Author

Thanks, this will make things much easier for incoming PRs 😁

@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 31, 2021
@flutter-triage-bot flutter-triage-bot bot added the package flutter/packages repository. See also p: labels. label Jul 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
c: tech-debt Technical debt, code quality, testing, etc. P1 High-priority issues at the top of the work list package flutter/packages repository. See also p: labels. platform-ios iOS applications specifically team Infra upgrades, team productivity, code health, technical debt. See also team: labels.
Projects
None yet
Development

No branches or pull requests

2 participants