• #单元测试


    1.环境配置:

    //add for test
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    //add for test
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
    }

    2.界面布局:

    ...


    <TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!" />
    <EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
    <Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="SAY HFLLO"
    android:onClick="sayHello"/>


    java代码:

    public class mainActivity extends AppCompatActivity {
    private TextView textView;
    private EditText editText;
    private Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_fullscreen);

    }

    public void sayHello(View view){
    TextView textView= (TextView) findViewById(R.id.textView);
    EditText editText= (EditText) findViewById(R.id.editText);
    textView.setText("Hello,"+editText.getText().toString()+"!");
    }
    }

     测试:

    public class MainActivityTest {
        private static final String STRING_TO_BE_TYPED = "Peter";
        @Rule
        public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class);
        @Test
        public void sayHello() throws Exception {
                onView(withId(R.id.editText))
                        .perform(typeText(STRING_TO_BE_TYPED),
                                closeSoftKeyboard());

                onView(withText("Say hello!")).perform(click());

                String expectedText = "Hello," + STRING_TO_BE_TYPED + "!";
                onView(withId(R.id.textView))
                        .check(matches(withText(expectedText)));

        }

    }

     

  • 相关阅读:
    Python 基础【第三篇】输入和输出
    把linux可执行程序做成一个服务[转]
    linux 下启动程序的时候会显示坏的解释器,或者没有那个文件
    利用GDB进行多线程调试
    两个结构体ifconf和ifreq
    centos系统修改网络配置注意事项
    yum错误:rpmdb: BDB0113 Thread/process 4227/139813012539200 failed: BDB1507 Thread died in Berkeley DB library
    CentOs安装MySql
    周末遐想(计算最长英语单词链)
    单词词频统计(12组)
  • 原文地址:https://www.cnblogs.com/07zhouzijing/p/6582325.html
Copyright © 2020-2023  润新知