1

ログイン画面プロジェクトを作成しました。そのためのテストケースを作成しました。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)

私を導いてください。

4

2 に答える 2

1

それは単純なもので、JUnit に入力を与える際に小さな間違いを犯しました。

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

それは今動作します。

于 2011-04-04T06:23:03.933 に答える
0

ノート。私はJavaの人ではありませんが..

テストが失敗しているのは、コードが期待どおりに実行されていないためです。expected:<Karthika> but was:<>

したがって、UI からの文字列はおそらくnull. 文字列Karthikaを UI に配置すると、テストでは両方の文字列が であることが期待されますがadithi、null であると言って失敗します。

  1. UI のどこかでテキストが null になります。
  2. 私はそれが好きであるべきだと思いますassertEquals(actualvar, whatyouexpect);assertEquals(name, n1);
于 2011-03-26T07:26:49.373 に答える