gpt4 book ai didi

java - UIAutomator 在 Linux 上构建时运行 0 个测试,但在其他平台上运行良好

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:42 28 4
gpt4 key购买 nike

我在使用适用于 Linux 的 Android 的 UIAutomator 库运行测试时遇到问题。基本设置是 Nexus 4,或带有 4.2.2、JDK6、Eclipse 和 Linux Mint 13 的模拟器。

这个问题的根源是:

INSTRUMENTATION_STATUS: stream=
Test results for WatcherResultPrinter=
Time: 0.007

OK (0 tests)


INSTRUMENTATION_STATUS_CODE: -1

这是我在 Linux 下创建 jar 文件时得到的。如果我在 Windows 或 OSX 中构建它,一切似乎都运行顺畅。在这种特定情况下,只有一个测试,即按下“主页”按钮。

如果我在任何其他环境 (osx/windows) 下使用相同的代码和相同的步骤创建项目,测试将按预期运行。

我的问题是 - 为什么在 Linux 下创建 jar 时测试运行器无法找到类,而不是平台形式?我现在最好也是唯一的猜测是编译时 java 路径设置不正确,所以 jar 文件构建不正确。当从 Eclipse 中运行测试时,我最初得到“ClassNotFoundException”,而在 osx/windows 上,测试将在 JUnit 中运行,但失败了。

我对此进行了深入研究,发现编译器都指向系统不同部分的不同 Java 版本。我修复了这个问题,删除了除一个 java6jdk 实例之外的所有内容,并检查了 JAVA_HOME、eclipse 构建路径和 java 编译路径都指向同一个实例。

所有这一切之后,测试似乎仍在构建,但测试运行器找不到它们。我的知识已尽,如有任何帮助,我们将不胜感激!

谢谢

编辑: jar tvf:

spicy@ubuntu:~/workspace/TestOne/bin$ jar tvf testui1.jar 
0 Sun Apr 07 14:23:24 PDT 2013 META-INF/
103 Sun Apr 07 14:23:22 PDT 2013 META-INF/MANIFEST.MF
1052 Sun Apr 07 14:23:24 PDT 2013 classes.dex

代码:

package com.test;

import android.util.Log;

public class FirstTest extends UiAutomatorTestCase {

public void thisTest() throws UiObjectNotFoundException {
getUiDevice().pressHome();
Log.i("HELP","HELP ME");
}

}

最佳答案

经过太多的工作和努力,我很尴尬地报告问题出在测试函数的命名中。如果函数以“test_”开头,则自动程序会找到测试。如果它不是以“test_”开头,它会忽略它们。

啊!

关于java - UIAutomator 在 Linux 上构建时运行 0 个测试,但在其他平台上运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15856706/

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