F
Fujit
Neues Mitglied
- 0
Hallo liebe Leute,
ich versuche für meine kleine App ein JUnit Projekt aufzusetzen, der sie testet.
Dabei gibt es wohl zwei Bibleotheken, die man verwenden kann:
1. android.test.ActivityUnitTestCase<MainActivity>
2. ActivityInstrumentationTestCase2<MainActivity>
Erstens ist mir unklar, welche Bib man am besten verwenden sollte.
Jedenfalls gibt es genug gute Bespiele wie man mit der jeweiligen Bib umgeht.
Mein generelles Problem ist, dass bei der Ausführung keine Tests erkannt werden. Ich habe da in Eclipse im JUnit Fenster stehen: Runs: 0/0.
Obwohl ich eigentlich alles so gemacht habe, wie im Tut.
Einmal habe ich es tatsächlich hinbekommen, dass ein Test (es gab nur einen Test) erkannt wurde. Dann war er aber immer falsch, selbst wenn ich gesagt habe:
String name="name";
assertEquals("name", name);
Wenn man bedenkt, dass dahinter eignetlich die Equals-Methode verwendet wird, hat mich es verwirrst, wieso es nicht grün wurde....
Dann habe ich dieses Projekt gelöscht und es erneut angelegt. Und jetzt erkennt er wieder keinen einzigen Test.
So sieht sie jetzt aus:
Und das kommt dann auf der Console, was mir eigentlich sagt, dass von der Organisation des Projekts (zu testender Projekt ist drin, Debugger läuft...) ist eingentlich alles oke:
Warum habe ich 0/0 Runs???
Und es wird auch nicht rot bzw. grün angezeigt, es ist einfach leer.
Danke für jeden Tipp.
ich versuche für meine kleine App ein JUnit Projekt aufzusetzen, der sie testet.
Dabei gibt es wohl zwei Bibleotheken, die man verwenden kann:
1. android.test.ActivityUnitTestCase<MainActivity>
2. ActivityInstrumentationTestCase2<MainActivity>
Erstens ist mir unklar, welche Bib man am besten verwenden sollte.
Jedenfalls gibt es genug gute Bespiele wie man mit der jeweiligen Bib umgeht.
Mein generelles Problem ist, dass bei der Ausführung keine Tests erkannt werden. Ich habe da in Eclipse im JUnit Fenster stehen: Runs: 0/0.
Obwohl ich eigentlich alles so gemacht habe, wie im Tut.
Einmal habe ich es tatsächlich hinbekommen, dass ein Test (es gab nur einen Test) erkannt wurde. Dann war er aber immer falsch, selbst wenn ich gesagt habe:
String name="name";
assertEquals("name", name);
Wenn man bedenkt, dass dahinter eignetlich die Equals-Methode verwendet wird, hat mich es verwirrst, wieso es nicht grün wurde....
Dann habe ich dieses Projekt gelöscht und es erneut angelegt. Und jetzt erkennt er wieder keinen einzigen Test.
So sieht sie jetzt aus:
Code:
public class MainTest extends ActivityUnitTestCase<MainActivity> {
private MainActivity activity;
private int buttonId;
public MainTest(Class<MainActivity> activityClass) {
super(activityClass);
// TODO Auto-generated constructor stub
}
@Override
protected void setUp() throws Exception {
super.setUp();
Intent intent = new Intent(getInstrumentation().getTargetContext(),
MainActivity.class);
startActivity(intent, null, null);
activity = getActivity();
}
public void testLayout() {
buttonId = com.example.myexpenses.R.id.btnOverview;
assertNotNull(activity.findViewById(buttonId));
//Button view = (Button) activity.findViewById(buttonId);
//assertEquals("Incorrect label of the button", "Start", view.getText());
}
public void testinput(){
assertEquals("hallo", "hallo");
}
}
Und das kommt dann auf der Console, was mir eigentlich sagt, dass von der Organisation des Projekts (zu testender Projekt ist drin, Debugger läuft...) ist eingentlich alles oke:
[2015-02-22 15:00:32 - testMyApp] Dx
trouble writing output: already prepared
[2015-02-22 15:00:34 - testMyApp] ------------------------------
[2015-02-22 15:00:34 - testMyApp] Android Launch!
[2015-02-22 15:00:34 - testMyApp] adb is running normally.
[2015-02-22 15:00:34 - testMyApp] Performing android.test.InstrumentationTestRunner JUnit launch
[2015-02-22 15:00:34 - testMyApp] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'TestAVD'
[2015-02-22 15:00:34 - testMyApp] Uploading testMyApp.apk onto device 'emulator-5554'
[2015-02-22 15:00:34 - testMyApp] Installing testMyApp.apk...
[2015-02-22 15:00:36 - testMyApp] Success!
[2015-02-22 15:00:36 - testMyApp] Project dependency found, installing: MyApp
[2015-02-22 15:00:36 - MyApp] Application already deployed. No need to reinstall.
[2015-02-22 15:00:36 - testMyApp] Launching instrumentation android.test.InstrumentationTestRunner on emulator-5554
[2015-02-22 15:00:37 - testMyApp] Sending test information to Eclipse
[2015-02-22 15:00:38 - testMyApp] Test run finished
Warum habe ich 0/0 Runs???
Und es wird auch nicht rot bzw. grün angezeigt, es ist einfach leer.
Danke für jeden Tipp.