Android集成测试使用旧APK



我使用Maven和Android- release prototype创建了一个漂亮的Android项目。现在我有一个简单的问题:我的集成测试没有使用被测库的最新版本。

当运行Eclipse时,Maven和M2E似乎都使用过时的版本(至少在我的设备上打开的应用程序有一瞬间看起来是这样的)。我最初认为这可能是Eclipse愚蠢的缓存,但随后Maven应该能够使用正确的版本。我删除了bin和目标文件夹,甚至Maven存储库中的条目,但构建总是会凭空提取旧版本。

刚才我发现,不仅被测试的库过时了,而且有一个通过Maven和M2E执行的测试在一段时间前被删除了。

我知道这个问题很模糊,但我不确定从哪里寻找问题的根源。谁能告诉我发生了什么事?

显然这至少是两个独立的问题。我通过将库作为依赖项添加到项目的Android属性中来修复Eclipse部分。由于这是android-maven-plugin现在的问题,我将发布集成测试项目的pom.xml的相关部分,希望有人从相同的原型开始有相同的问题,并知道如何修复它:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>org.acme.project.android.it</artifactId>
<packaging>apk</packaging>
<dependencies>
    <dependency>
        <groupId>org.acme.project</groupId>
        <artifactId>org.acme.project.android</artifactId>
        <version>${project.version}</version> 
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android-test</artifactId>
        <version>4.1.1.4</version>
        <scope>provided</scope>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <configuration>
                <sdk>
                    <platform>16</platform>
                </sdk>
            </configuration>
            <extensions>true</extensions>
        </plugin>
    </plugins>
</build>
</project>

您必须确保要测试的应用程序的版本是正确的。在你的情况下,你正在使用1.0.0版本…而实际上,正在开发的最新版本可能是1.1.0-SNAPSHOT之类的东西。

而且你上面写的肯定是无效的。看看我们作为Android Maven Plugin项目的一部分提供的样例项目。

正确的答案是:我想做的(集成测试Android库)是不可能的。我现在测试应用程序,它可以工作。

相关内容

  • 没有找到相关文章

最新更新