Adds test harnesses for integration tests on Android #4200
Conversation
Hm, it looks like something may be wrong with the sharding logic? I'm not seeing most of these plugins showing up in the run, either as run or skipped. I'll try to investigate that later today. |
I spent way too long debugging that locally (with no success) before realizing that the problem is that the exclude list wasn't updated, so those plugins are being excluded. This PR will need to remove all the plugins that are now supported from exclude_integration_android.yaml (This did highlight that exclude and sharding interact oddly, so I'll fix that separately.) |
packages/google_sign_in/google_sign_in/example/android/app/src/debug/AndroidManifest.xml
Outdated
Show resolved
Hide resolved
...droid/app/src/main/java/io/flutter/plugins/googlesigninexample/GoogleSignInTestActivity.java
Outdated
Show resolved
Hide resolved
@@ -36,6 +36,7 @@ android { | |||
applicationId "io.flutter.plugins.imagepicker.example" | |||
minSdkVersion 16 | |||
targetSdkVersion 28 | |||
multiDexEnabled true |
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.
did it hit the 64K limit?
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.
Yea it did. And same for the other plugins that I also added the property to in this PR
packages/image_picker/image_picker/example/android/app/src/debug/AndroidManifest.xml
Outdated
Show resolved
Hide resolved
...android/app/src/main/java/io/flutter/plugins/imagepickerexample/ImagePickerTestActivity.java
Outdated
Show resolved
Hide resolved
import 'package:integration_test/integration_test.dart'; | ||
|
||
void main() { | ||
IntegrationTestWidgetsFlutterBinding.ensureInitialized(); | ||
|
||
testWidgets('placeholder test', (WidgetTester tester) async {}); |
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.
does the old_
prefix in the filename mean something?
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.
I dont think it does. It was just an empty test before. I think we just never changed the test name: https://github.com/flutter/plugins/commits/master/packages/image_picker/image_picker/example/integration_test
I changed it to just Image_picker_test.dart
.
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' | ||
androidTestImplementation 'androidx.test:runner:1.2.0' | ||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' | ||
api 'androidx.test:core:1.2.0' |
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.
do you know why this requires api instead of androidTestImplementation
? https://developer.android.com/training/testing/set-up-project#add-gradle-dependencies
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.
same for the other ones
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.
This was the installation requirements for the espresso package. I wasn't able to get it to work with androidTestImplementation
. I'm also not familiar enough with gradle to understand why its api
without doing some more research.
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.
I see. this is probably due to flutter/flutter#56591
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.
LGTM
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.
LGTM!
Fixes flutter/flutter#83358
Pre-launch Checklist
dart format
.)[shared_preferences]
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.