2011-03-26 3 views
1

방금 ​​로그인 화면 project.I을 만들었습니다. 그 테스트 케이스를 작성했습니다 .JUnit 테스트 케이스의 텍스트 상자에 텍스트를 입력하는 방법을 모릅니다. 난 그냥이안드로이드 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) 

이 나를 인도 해주십시오이다.

+0

jeez! 질문을 수정하고 코드를 변경했습니다. 나는 당신이'performClick()'후에 UI 텍스트가 어딘가에 있는지 확인해 볼 수있다. – gideon

답변

1

그것의 간단한 일을해야 생각 그리고 그것은 지금 작동

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

으로 내가 제공해야합니다 JUnit.we에 입력을주는 작은 실수를했을 .

0

참고. 나는

이 그래서 당신의 UI에서 문자열이 아마 null

당신이 expected.It이 expected:<Karthika> but was:<>

을 말한다 로 테스트가 아니라 그것의 실패 때문에, 코드가 실행되지 실패입니다 .. 자바 사람 만이 아니에요 . UI에 Karthika 문자열을 넣으면 테스트에서 두 문자열 모두 adithi이 될 것으로 예상하지만 null이라는 오류는 발생하지 않습니다.

  1. UI의 텍스트가 null이됩니다.
  2. 나는 assertEquals(actualvar, whatyouexpect); 같은 assertEquals(name, n1);
+0

나는 그것을 검사했다. assertEquals (String expected, String actual); – adithi

+0

어딘가에 null 또는 공백이갑니다. 'testlogin'은 언제/어떻게 실행되고 있습니까? 'performclick()'은 무엇을합니까? – gideon

+0

나는 sendkey ("")가 텍스트 상자 value.but을 입력하는 방법이 아니라고 생각한다. 나는 그것을 줄 수있는 방법을 추측한다. – adithi

관련 문제