将 snapchat SDK 添加到 android 项目导致仪器测试失败 "No tests found"
Adding snapchat SDK to android project causes instrumentation tests to fail with "No tests found"
我的任务是将 Snapchat 登录添加到我们的 Android 应用程序。太好了,我已经集成了它并且可以登录(在对它进行一些配置之后)。
然而,在我打开我的 PR 后,我们的 CI 标记 connectedAndroidTest
任务失败并显示以下消息:
com.android.build.gradle.internal.testing.ConnectedDevice > No tests found.[Pixel_XL_API_26(AVD) - 8.0.0] FAILED
No tests found. This usually means that your test classes are not in the form that your test runner expects (e.g. don't inherit from TestCase or lack @Test annotations).
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':<app_name>:connectedDebugAndroidTest'.
> There were failing tests. See the report at: file:///C:/Users/<my_username>/StudioProjects/<project_name>/<module_name>/build/reports/androidTests/connected/index.html
我打开了报告文件,里面也说没有找到测试
在实现此功能时,我没有接触、更新、打开甚至梦想过任何测试文件,当然也没有更改我们代码库中有关测试的任何内容。
为了证明这一点,我检查了 dev,并从那里 运行 connectedAndroidTest
命令,它们都通过了。然后,我简单地将以下 snapchat 依赖项添加到 dev 上的 gradle 文件中:
implementation 'com.snapchat.kit.sdk:login:1.6.5'
implementation 'com.snapchat.kit.sdk:core:1.6.5'
将项目与 gradle 同步,然后再次 运行 connectedAndroidTest
命令。这一次,测试失败并出现“未找到测试”错误。所以,我没有更改代码,只是简单地添加 snapchat 依赖项导致了这个问题。
什么。在。地球。
真的吗?好吧,所以我一直在努力,搜索 google 以寻求任何建议,但到目前为止我一无所获。所以,我求助于 Whosebug;有没有人遇到过这样的问题?关于如何开始调试和解决这个问题有什么建议吗?
编辑:
我创建了一个 b运行d 新的完全空的项目,只需添加 snapchat 依赖项即可轻松复制它。
显然,当为仪器测试构建 apk 时,它缺少一些 snapkit SDK 所需的元标记
在androidTest目录下添加一个只有以下内容的AndroidManifest.xml(即使不是真实的client-id)也可以解决问题。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.app.package">
<application>
<meta-data android:name="com.snapchat.kit.sdk.clientId" android:value="dummy-snapchat-client-id" />
</application>
</manifest>
如果您需要编写将使用 snapchat SDK 的测试,您可能需要提供您的真实 client-id 和任何其他 meta-tags 您的普通 AndroidManifest
我的任务是将 Snapchat 登录添加到我们的 Android 应用程序。太好了,我已经集成了它并且可以登录(在对它进行一些配置之后)。
然而,在我打开我的 PR 后,我们的 CI 标记 connectedAndroidTest
任务失败并显示以下消息:
com.android.build.gradle.internal.testing.ConnectedDevice > No tests found.[Pixel_XL_API_26(AVD) - 8.0.0] FAILED
No tests found. This usually means that your test classes are not in the form that your test runner expects (e.g. don't inherit from TestCase or lack @Test annotations).
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':<app_name>:connectedDebugAndroidTest'.
> There were failing tests. See the report at: file:///C:/Users/<my_username>/StudioProjects/<project_name>/<module_name>/build/reports/androidTests/connected/index.html
我打开了报告文件,里面也说没有找到测试
在实现此功能时,我没有接触、更新、打开甚至梦想过任何测试文件,当然也没有更改我们代码库中有关测试的任何内容。
为了证明这一点,我检查了 dev,并从那里 运行 connectedAndroidTest
命令,它们都通过了。然后,我简单地将以下 snapchat 依赖项添加到 dev 上的 gradle 文件中:
implementation 'com.snapchat.kit.sdk:login:1.6.5'
implementation 'com.snapchat.kit.sdk:core:1.6.5'
将项目与 gradle 同步,然后再次 运行 connectedAndroidTest
命令。这一次,测试失败并出现“未找到测试”错误。所以,我没有更改代码,只是简单地添加 snapchat 依赖项导致了这个问题。
什么。在。地球。
真的吗?好吧,所以我一直在努力,搜索 google 以寻求任何建议,但到目前为止我一无所获。所以,我求助于 Whosebug;有没有人遇到过这样的问题?关于如何开始调试和解决这个问题有什么建议吗?
编辑:
我创建了一个 b运行d 新的完全空的项目,只需添加 snapchat 依赖项即可轻松复制它。
显然,当为仪器测试构建 apk 时,它缺少一些 snapkit SDK 所需的元标记
在androidTest目录下添加一个只有以下内容的AndroidManifest.xml(即使不是真实的client-id)也可以解决问题。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.app.package">
<application>
<meta-data android:name="com.snapchat.kit.sdk.clientId" android:value="dummy-snapchat-client-id" />
</application>
</manifest>
如果您需要编写将使用 snapchat SDK 的测试,您可能需要提供您的真实 client-id 和任何其他 meta-tags 您的普通 AndroidManifest