Add the first test

จากตาราง เราจะเริ่มที่ Test แรก

คะแนน 0 ได้เกรด F

  1. สร้างไฟล์ชื่อ GradeTest ใน app/src/AndroidTest/java/com.example.jacksw.mygrade/

  2. สร้าง Test ชื่อ Given_0_ShouldGetGrade_F

    @RunWith(AndroidJUnit4.class)
    @LargeTest
    public class MyGradeTest {
    
     @Rule
     public ActivityTestRule<MainActivity> mActivityRule =
             new ActivityTestRule(MainActivity.class);
    
     @Test
     public void givenScore_0_ShouldGetGrade_F(){
    
     }
    }
    
  3. ใส่คะแนนลงใน Text field แล้วลอง Run test

    @Test
     public void givenScore_0_ShouldGetGrade_F(){
         onView(withId(R.id.scoreInput)).perform(typeText("0"));
     }
    

    ลองสังเกตุถึงความผิดปกติ

  4. แก้ไขโดยการสั่งให้ Clear text ใน Text field ก่อน แล้วค่อนใส่ค่าที่ต้องการเข้าไป จึงจะเป็นพฤติกรรมอย่างที่ต้องการ

    @Test
     public void givenScore_0_ShouldGetGrade_F(){
         onView(withId(R.id.scoreInput)).perform(clearText(), typeText("0"));
     }
    
  5. กดปุ่ม SUBMIT

    @Test
     public void givenScore_0_ShouldGetGrade_F(){
         onView(withId(R.id.scoreInput)).perform(clearText(), typeText("0"));
    
         onView(withId(R.id.button)).perform(click());
     }
    
  6. ตรวจสอบว่า Value ตรงกับที่ต้องการหรือไม่

    @Test
     public void givenScore_0_ShouldGetGrade_F(){
         onView(withId(R.id.scoreInput)).perform(clearText(), typeText("0"));
    
         onView(withId(R.id.button)).perform(click());
    
         onView(withId(R.id.gradeView)).check(matches(withText("F")));
     }
    

results matching ""

    No results matching ""