Как проверить значение текстового поля в тесте Android JUnit - PullRequest
1 голос
/ 26 марта 2011

Я только что создал проект экрана входа. Я написал тестовый пример для этого. Я не знаю, как ввести текст в текстовое поле в тестовом примере JUnit. я просто сделал это

         public void testlogin() {
    final String n1 = "adithi";
    final String p1 = "adithi";
    String name, pass;
    editUname.clearComposingText();
    editPswd.clearComposingText();
    TouchUtils.tapView(this, editUname);
    sendKeys("adithi");
    TouchUtils.tapView(this, editPswd);
    sendKeys("adithi");

    activity.runOnUiThread(new Runnable() {

          public void run() {


            signinbtn.performClick();
          }
        }); 

        name = editUname.getText().toString();

        pass = editPswd.getText().toString();

    Log.e("name",name); 
    Log.e("Password",pass);
    assertEquals(n1, name);
    assertEquals(p1, pass);
}

результат теста

 junit.framework.ComparisonFailure: expected:<adithi> but was:<>
 at com.firstpageTest.Test.testlogin(Test.java:126)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204)
 at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194)
 atandroid.test.ActivityInstrumentationTestCase2.runTest
    (ActivityInstrumentationTestCase2.ja
 atandroid.test.ActivityInstrumentationTestCase2.runTest
   (ActivityInstrumentationTestCase2.java:186)
  at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
  at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
  at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520)
  at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)

пожалуйста, направь меня.

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Это просто, и я допустил небольшую ошибку при вводе данных в JUnit. Мы должны дать как

       sendKeys("A D I T H I");

Теперь работает.

0 голосов
/ 26 марта 2011

Примечание. Я не Java-человек, но ..

Ваш тест не пройден, потому что, как правило, он не проходит, ваш код работает не так, как вы ожидали. Это говорит expected:<Karthika> but was:<>

Таким образом, строка из вашего пользовательского интерфейса, вероятно, null. Вы помещаете строку Karthika в пользовательский интерфейс, затем ваш тест ожидает, что обе строки равны adithi, но не может сказать, что она нулевая.

  1. Где-то текст в вашем интерфейсе обнуляется.
  2. Я думаю должно быть assertEquals(actualvar, whatyouexpect); как assertEquals(name, n1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...