-
Notifications
You must be signed in to change notification settings - Fork 9.8k
[e2e] Creates basic support/documentation/example to iOS. #2394
Conversation
* Adds instructions to README.md about e2e testing on iOS device. * Applies iOS e2e to example.
* Adds instructions to README.md about e2e testing on iOS device. * Applies iOS e2e to example.
You need to change `iOS/Podfile` to avoid test target statically linking to the plugins. One way is to | ||
link all of the plugins dynamically: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI the context behind this:
If the app statically links to plugins, the test target also needs to statically link to the same library. This is a known issue with CocoaPods. If we want to keep the static linking, we need to tell Podfile not to inherit search path from the main target[1], and remove $(inherited)
in .xcconfig of the test target[2]. This is a tedious work for users, so I just put a simpler workaround (dynamic linking) here.
We can still allow the static linking, by resolving the additional steps mentioned above by flutter tools.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, I have just a few minor suggestions.
Applied all suggested comments! Co-Authored-By: Collin Jackson <jackson@google.com>
I made E2EIosTest fallback not to be a XCTestCase class for now. Otherwise iOS app won't run until developer manually open .xcodeproj and run a test case. Flutter tool should be able to resolve this, then we can switch E2EIosTest to XCTestCase. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Landing this as a functionality update since it introduces new API surface area on iOS.
As a follow-on PR, could you please update the documentation to explain how to run the tests on the command line (so that Firebase Test Lab can be used on CI)
packages/e2e/CHANGELOG.md
Outdated
@@ -1,3 +1,8 @@ | |||
## 0.2.2+4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## 0.2.2+4 | |
## 0.2.3 | |
* * Updates E2EPlugin and add skeleton iOS test case E2EIosTest. * Adds instructions to README.md about e2e testing on iOS device. * Applies iOS e2e to example. Co-Authored-By: Collin Jackson <jackson@google.com>
* * Updates E2EPlugin and add skeleton iOS test case E2EIosTest. * Adds instructions to README.md about e2e testing on iOS device. * Applies iOS e2e to example. Co-Authored-By: Collin Jackson <jackson@google.com>
Description
Related Issues
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]
). This will ensure a smooth and quick review process.///
).flutter analyze
) does not report any problems on my PR.Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?