• 单元测试


    界面

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.lenovo.helloworld.MainActivity"
    android:orientation="vertical">

    <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:id="@+id/btn"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="SAY HELLO"/>

    </LinearLayout>




    JAVA代码
    package com.example.lenovo.helloworld;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.TextView;

    public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    }
    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()+"!");
    }
    }



    app代码
    apply plugin: 'com.android.application'

    android {
    compileSdkVersion 23
    buildToolsVersion "24.0.2"

    defaultConfig {
    applicationId "com.example.jiangtinghui.helloworld"
    minSdkVersion 21
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    //add for test
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
    release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    }
    }

    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    //add for test
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
    }

    androidTestCompile 'org.testng:testng:6.9.6'
    androidTestCompile 'org.testng:testng:6.9.6'
    }



    MainActivityInstrumentation代码

    package com.example.lenovo.helloworld;

    import static org.junit.Assert.*;

    /**
    * Created by lenovo on 2017/3/19.
    */

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

    onView(withId(R.id.btn)).perform(click());
    String expectedText="Hello,"+STRING_TO_BE_TYPED+"!";
    onView(withId(R.id.textview)).check(matches(withText(expectedText)));
    }
    }
  • 相关阅读:
    十进制,二进制,八进制,十六进制中的相互转换
    oracle中dual表的使用
    弹出窗口
    oracle中的函数
    [导入]几种所见所得的在线编辑器
    操作字符串
    设计模式初认识
    创建型模式之简单工厂模式
    MySQL批量检查表的脚本
    中英文单位对照
  • 原文地址:https://www.cnblogs.com/yueshanxi/p/6582060.html
Copyright © 2020-2023  润新知