Skip to content

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

Closed
@stuartmorgan-g

Description

@stuartmorgan-g

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

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listc: contributor-productivityTeam-specific productivity, code health, technical debt.c: tech-debtTechnical debt, code quality, testing, etc.packageflutter/packages repository. See also p: labels.platform-iosiOS applications specifically

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions