Add the first test
จากตาราง เราจะเริ่มที่ Test แรก
คะแนน 0 ได้เกรด F
สร้างไฟล์ชื่อ GradeTest ใน app/src/AndroidTest/java/com.example.jacksw.mygrade/
สร้าง 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(){ } }
ใส่คะแนนลงใน Text field แล้วลอง Run test
@Test public void givenScore_0_ShouldGetGrade_F(){ onView(withId(R.id.scoreInput)).perform(typeText("0")); }
ลองสังเกตุถึงความผิดปกติ
แก้ไขโดยการสั่งให้ Clear text ใน Text field ก่อน แล้วค่อนใส่ค่าที่ต้องการเข้าไป จึงจะเป็นพฤติกรรมอย่างที่ต้องการ
@Test public void givenScore_0_ShouldGetGrade_F(){ onView(withId(R.id.scoreInput)).perform(clearText(), typeText("0")); }
กดปุ่ม SUBMIT
@Test public void givenScore_0_ShouldGetGrade_F(){ onView(withId(R.id.scoreInput)).perform(clearText(), typeText("0")); onView(withId(R.id.button)).perform(click()); }
ตรวจสอบว่า 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"))); }