0

仍然相对绿色,我试图弄清楚是否可以针对预构建的应用程序无源代码编写 JUnit 功能测试。我找到了一种重新签署应用程序的方法,但我想知道如何将它作为我的测试的依赖项包含在 Eclipse 项目中?

4

1 回答 1

1

是的,这确实可以使用 Java 反射。

除此之外,可能有必要退出您要测试的应用程序。从您的设备下载它(例如,使用 AppMonster 应用程序),使用 resign.jar (http://www.troido.de/re-sign.jar) 将其退出,然后使用 adb 再次安装。

之后,一切都应该正常工作。

@SuppressWarnings("rawtypes")
public class YourTestSuite extends ActivityInstrumentationTestCase2 {

    /** Package ID of the app under test. */
    private static final String TARGET_PACKAGE_ID = "com.something";

    /** ID of the app under test's main activity. */
    private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.something.HomeActivity";

    /** Launcher activity class. */
    private static Class<?> launcherActivityClass;

    /** Static code to find the activity class. */
    static {
        try {
            launcherActivityClass = Class
                .forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
        }

        catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * Constructor
     * 
     * @throws ClassNotFoundException
     */
    @SuppressWarnings("unchecked")
    public YourTestSuite() throws ClassNotFoundException {
        super(TARGET_PACKAGE_ID, launcherActivityClass);
    }

    /* Your test code comes here. */
}
于 2012-08-17T18:51:05.790 回答