Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Exercise public APIs in Swift integration tests #8666

Closed
1ec5 opened this issue Apr 6, 2017 · 5 comments
Closed

Exercise public APIs in Swift integration tests #8666

1ec5 opened this issue Apr 6, 2017 · 5 comments
Labels
iOS Mapbox Maps SDK for iOS macOS Mapbox Maps SDK for macOS Swift Specific to the Swift/Objective-C bridge on iOS or macOS tests

Comments

@1ec5
Copy link
Contributor

1ec5 commented Apr 6, 2017

Sometimes we make changes like #8541 that, per our versioning guidelines, don’t warrant a major version bump but may break backwards compatibility in Swift code due to the vagaries of Objective-C-to-Swift bridging. Avoiding these changes would be a major burden on development, but we should have a system for tracking them, to ensure that we communicate those changes in release notes.

Most of our unit tests are written in Objective-C, which is unable to catch changes to Swift bridging. We should supplement these unit tests with integration tests written in Swift that exercise the public APIs. At a minimum, they should call methods, implement delegate methods, etc., but they wouldn’t necessarily verify the results – that would remain the responsibility of the Objective-C++ unit tests, which have access to the underlying mbgl types.

/cc @mapbox/ios

@1ec5 1ec5 added iOS Mapbox Maps SDK for iOS macOS Mapbox Maps SDK for macOS Swift Specific to the Swift/Objective-C bridge on iOS or macOS tests labels Apr 6, 2017
@boundsj
Copy link
Contributor

boundsj commented Apr 13, 2017

#8729 added integration tests for MGLMapViewDelegate. It also introduced a utility to help ensure test coverage. That utility and pattern introduced in #8729 can be used to help test our other protocols (i.e. MGLOfflineStorageDelegate, MGLOverlay, MGLCalloutViewDelegate)

@jmkiley jmkiley self-assigned this Jun 23, 2017
@jmkiley jmkiley removed their assignment Jun 25, 2018
@stale stale bot added the archived Archived because of inactivity label Dec 22, 2018
@stale
Copy link

stale bot commented Dec 23, 2018

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

@stale stale bot closed this as completed Dec 23, 2018
@friedbunny
Copy link
Contributor

With recent Swift interface troubles around implementing optional location manager properties, this remains a valid issue.

/cc @riastrad @1ec5 @julianrex @frederoni

@friedbunny friedbunny reopened this Jan 2, 2019
@stale stale bot removed the archived Archived because of inactivity label Jan 2, 2019
@stale stale bot added the archived Archived because of inactivity label Jul 1, 2019
@stale
Copy link

stale bot commented Jul 2, 2019

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

@stale stale bot closed this as completed Jul 2, 2019
@stale
Copy link

stale bot commented Jul 2, 2019

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

@stale stale bot closed this as completed Jul 2, 2019
@fabian-guerra fabian-guerra reopened this Jul 2, 2019
@stale stale bot removed the archived Archived because of inactivity label Jul 2, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
iOS Mapbox Maps SDK for iOS macOS Mapbox Maps SDK for macOS Swift Specific to the Swift/Objective-C bridge on iOS or macOS tests
Projects
None yet
Development

No branches or pull requests

5 participants