了解しました。3日間、ネットを組み合わせて、Eclipseプロジェクトのコマンドラインからantを使用してユニットテストを実行する方法を見つけました。
「実行」->「AndroidJUnitテスト」を介してEclipseでテストを実行できます
私が今欲しいのは、コマンドラインを介してテストを実行できるようにすることです。それでおしまい。
2010年に書かれなかったガイドは見つからないようですが、それでも、antをインストールして、プロジェクト内にコピーパスタしたbuild.xmlファイルを作成するまでは、ガイドをフォローしようとしています。ガイド。ビルドファイルで何が起こっているかを推測することしかできないので(これまでantで作業したことはありません)、問題がその醜い頭を抱えているとき、私はほとんどSOLです。
現在、実行しようとすると、「パッケージandroid.appが存在しません」(Activityクラスを使用しています)と表示されます。これは、プロジェクトの「/libs」フォルダーに含めたライブラリjarファイルでも同じです。
どこかで何らかのパス宣言が欠落していることは明らかですが、私が試したものは何も機能していないようです。
編集(追加されたコード):これはMockTester.javaです-
package com.android.mocksdktester;
import static org.junit.Assert.*;
import android.app.Activity;
import android.test.AndroidTestCase;
import com.mock.android.lib.*;
public class MockTester extends AndroidTestCase
{
Activity mActivity;
MockFeature mFeature;
public MockTester()
{
}
public void testExists()
{
String test = null;
assertNull(test);
}
}
ご覧のとおり、多くは起こっていません。これは私が持っているbuild.xmlファイルであり、私が述べたように、私はそれが何をしているのかを推測することしかできません。
<?xml version="1.0"?>
<!-- to save as "build.xml" -->
<project name="Mock Unit Tests" default="run" basedir=".">
<path id="junit_classpath">
<pathelement location="C:\eclipse\plugins\org.junit_4.8.2.v4_8_2_v20110321-1705\junit.jar"/>
</path>
<!-- Library Project Here -->
<fileset dir="libs" includes="*.jar"/>
<!-- build all classes in this directory -->
<!-- To run this: use "ant build" -->
<!-- need to include junit.jar in the classpath -->
<target name="build">
<javac srcdir="${basedir}"/>
<echo message="Build done" />
</target>
<!-- Test and build all files -->
<!-- To run this: use "ant" (default) or "ant run" -->
<target name="run" depends="build">
<java taskname="Test" classname="MockTester" fork="true" failonerror="true" />
<echo message="Unit Tests done" />
</target>
<!-- delete all class files -->
<!-- To run this: use "ant clean" -->
<target name="clean">
<delete>
<fileset dir="${basedir}" includes="*.class" />
</delete>
<echo message="clean done" />
</target>
</project>
過去にjunitが表示されなかったことに不満がありましたが、なんとか修正できました。Android関連のクラスがなく、プロジェクトにjarファイルが含まれている場合の対処方法がわかりません(これはバグだと読んだことがありますが)。
エラー:
build:
[javac] C:\<my workspace>\mock\mock_sdk_android\trunk\source\MockSDKTest\build.xml:16: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 3 source files
[javac] C:\<my workspace>\mock\mock_sdk_android\trunk\source\MockSDKTest\src\com\android\mocksdktester\MockTester.java:14:error: package android.app does not exist
[javac] import android.app.Activity;
[javac] ^
[javac] C:\<my workspace>\mock\mock_sdk_android\trunk\source\MockSDKTest\src\com\android\mocksdktester\MockTester.java:15:error: package android.test does not exist
[javac] import android.test.AndroidTestCase;
[javac] ^
[javac] C:\<my workspace>\mock\mock_sdk_android\trunk\source\MockSDKTest\src\com\android\mocksdktester\MockTester.java:18:error: package com.mock.android.lib does not exist
[javac] import com.mock.android.lib.*;
[javac] ^
[javac] C:\<my workspace>\mock\mock_sdk_android\trunk\source\MockSDKTest\src\com\android\mocksdktester\MockTester.java:20:error: cannot find symbol
[javac] public class MockTester extends AndroidTestCase
[javac] ^
[javac] symbol: class AndroidTestCase
[javac] C:\<my workspace>\mock\mock_sdk_android\trunk\source\MockSDKTest\src\com\android\mocksdktester\MockTester.java:22:error: cannot find symbol
[javac] Activity mActivity;
[javac] ^
[javac] symbol: class Activity
[javac] location: class MockTester
[javac] C:\<my workspace>\mock\mock_sdk_android\trunk\source\MockSDKTest\src\com\android\mocksdktester\MockTester.java:23:error: cannot find symbol
[javac] MockFeature mFeature;
[javac] ^
[javac] symbol: class MockFeature
[javac] location: class MockTester
[javac] 6 errors
BUILD FAILED
ありがとう