gpt4 book ai didi

java - 测试我的 Maven 库与 Android 的兼容性

转载 作者:太空宇宙 更新时间:2023-11-04 13:04:55 26 4
gpt4 key购买 nike

TL;DR

我有一个使用 Maven 构建和测试的 Java 项目。在 Android sdk 上运行 junit 测试的最简单方法是什么?

更多详情

提交后,用户打开了一个错误报告,解释说我破坏了与 Android 的兼容性,因为我引入了对 javax.xml.bind 的依赖,而 Android 上不存在此包。

现在我成功地在不使用这个包的情况下实现了我的功能,并且我想确保我不会再破坏这种兼容性。因此,我想在 Android Sdk 上运行现有的 junit4 测试。问题是我是一个 Android 菜鸟,我开始淹没在文档中:

  • 会使用local unit tests适合我的需求吗?
  • 如果是,我可以将它们与 Maven 一起使用还是先切换到 gradle? (即:documentation 解释了如何使用 Gradle 来完成此操作。这是先决条件,还是可以使用我现有的构建系统来完成此操作?)
  • 或者我必须承受使用 instrumented unit tests 的负担吗? ? (考虑到我的项目中根本没有 UI 概念,这些是否可用?)

最佳答案

  1. 是的。 适用于 Gradle 的 Android 插件 会跟踪您没有使用由于库的 API 级别 minSdkVersion 限制而不允许您使用的 API。 (我很确定,它也可以使用maven-android-plugin存档)

  2. 这是 possible并需要 Surefire Plugin 。不幸的是,我还没有亲自尝试过,所以我只能说,从我简要阅读的内容来看,它看起来很古老,而且设置起来并不容易。所以如果我是你,我会选择 Gradle。但如果它的成本太高——好吧。使用 Maven 也可以实现。

  3. 除非您想要测试 Activity 和一些复杂的端到端 UI( fragment 、 Intent 等)场景 - 您最好使用 JUnit 测试。即使您确实需要与 Android 的 Activity/Fragment 相关的东西,您也可以使用 Robolectric lib(它是一个单元测试框架,在许多情况下允许避免仪器测试)

关于java - 测试我的 Maven 库与 Android 的兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34579738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com