Butterknife + Espresso NoMatchingViewException

时间:2017-09-29 07:53:02

标签: android android-espresso android-testing butterknife

Butterknife可以使用Espresso吗?我有一个测试样本,有2个活动。在第一个活动中,我打印文本,而不是单击按钮并将文本发送到另一个活动。之后我创建了MainActivityTest,一切运行良好。但是当我开始使用Butterknife时,我发现了错误NoMatchingViewException。

我的第一项活动:

public class MainActivity extends AppCompatActivity {

    public static final String TAG  = MainActivity.class.getSimpleName();

    @BindView(R.id.first_text)
    EditText mEditText;

    @OnClick(R.id.button_one)
    public void click(){
        Intent intent = new Intent(MainActivity.this,SecondActivity.class);
        intent.putExtra("TEXT",mEditText.getText().toString());
        startActivity(intent);
    }

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

第二项活动:

public class SecondActivity extends AppCompatActivity {

    public static final String TAG = SecondActivity.class.getSimpleName();

    @BindView(R.id.second_text)
    TextView mTextView;

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

    }

    @Override
    protected void onResume() {
        super.onResume();

        if(getIntent().getStringExtra("TEXT")!=null) {
            mTextView.setText(getIntent().getStringExtra("TEXT"));
        }

    }
}

我的MainActivityTest:

public class MainActivityTest {

    @Rule
    public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(
            MainActivity.class);

    @Before
    public void setUp() throws Exception {

    }

    @Test
    public void onCreate() throws Exception {
        onView(withId(R.id.first_text)).perform(typeText("Test"));
        onView(withId(R.id.button_one)).perform(click());
        onView(withId(R.id.second_text)).check(matches(withText("Test")));
    }

}

0 个答案:

没有答案
相关问题