EclipseでRobolectricを使用して簡単なテストを実行しようとしています。私はこのチュートリアルに従いましたが、このエラーが発生しました:
java.lang.RuntimeException:java.io.FileNotFoundException:C:\ Vishal \ Development \ ワークスペース>\AndroidHelloWorldTester。\AndroidManifest.xmlが見つからないか、ファイルがありません。>プロジェクトのAndroidManifest.xmlを指す必要があります
次に、ここでのEugenのアドバイスに従って、ここで指示されているようにRobolectricTestRunnerクラスを拡張しようとしましたが、このエラーが発生しました:-(コンパイルエラーが発生したため、コンストラクターを指示どおりに正確に記述できませんでした)
java.lang.Exception:テストクラスには、パブリックゼロ引数コンストラクターが1つだけ含まれている必要があります
現在これはクラスです:-
package com.myTest;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.model.InitializationError;
import android.widget.Button;
import android.widget.TextView;
import com.visd.helloworld.AndroidHelloWorldActivity;
import com.visd.helloworld.R;
import com.xtremelabs.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class Ahtest extends RobolectricTestRunner {
public Ahtest(Class AndroidHelloWorldActivity) throws InitializationError {
super(AndroidHelloWorldActivity, "<the project root location>");
// TODO Auto-generated constructor stub
}
private Button pressMeButton;
private TextView results;
AndroidHelloWorldActivity activity;
@Before
public void setUp() throws Exception {
activity = new AndroidHelloWorldActivity();
activity.onCreate(null);
pressMeButton = (Button) activity.findViewById(R.id.mybut1);
results = (TextView) activity.findViewById(R.id.text1);
}
@After
public void tearDown() throws Exception {
}
@Test
public void testSomethingMeaningfulToMyApp() {
pressMeButton.performClick();
String resultsText = results.getText().toString();
assertThat(resultsText, equalTo("Button Clicked"));
}
}
PN:
1)アプリケーションとテストで異なるプロジェクトを作成しました。
2)指定した場合、指定したとおりにコンストラクターを記述できませんでした:-
super(testClass、new File( "../ other / project-root"));
コンパイルエラーが発生します。助けてください。