2015-10-01 15 views
7

Tôi gặp sự cố khi thử nghiệm ứng dụng của mình. Tôi đã tạo ra một bài kiểm tra espresso được cho là thất bại, vì bất cứ khi nào tôi khởi chạy ứng dụng của mình trong trình mô phỏng, tôi nhận được hành vi mong đợi. Có thử nghiệm của tôi:Android: kiểm tra nút được bật

onView(withText("wrong answer")).perform(click()); 
onView(withId(R.id.nextQuestionButton)).check(matches(isEnabled())); 

Khi tung ra các kiểm tra, không có gì được báo cáo, trong khi nextQuestionButton nên không được kích hoạt khi nhấn vào radiobutton có văn bản là "câu trả lời sai".

Trả lời

16

Theo những gì tôi hiểu, bạn muốn nó làm việc như thế này:

nếu nextQuestionButton được kích hoạt, sau đó có những hành động sau đây:

  • nhấp chuột vào 'câu trả lời sai',
  • kiểm tra xem có nextQuestionButton thay đổi được nêu là KHÔNG được bật hay không.

Nếu đây là như vậy, mã nên được như thế này:

onView(withId(R.id.nextQuestionButton)).check(matches(isEnabled())); 
onView(withText("wrong answer")).perform(click()); 
onView(withId(R.id.nextQuestionButton)).check(matches(not(isEnabled()))); 

Espresso cho phép bạn sử dụng hamcrest quẹt trong các thử nghiệm.

Hamcrest 1.3 Quick Reference.

Vui lòng kiểm tra cũng này (nếu bạn chưa thực hiện điều đó đã được):

Espresso 2.1. Espresso Cheat Sheet Master

Theo đoạn này của bài viết của bạn:

Khi tung ra các kiểm tra, không có gì được báo cáo , trong khi nextQuestionButton không được bật khi nhấp vào radioButton có văn bản là "câu trả lời sai".

Điều đó có nghĩa là bạn chưa đặt tắt nút câu hỏi tiếp theo, vì vậy Espresso vượt qua bài kiểm tra này.

Các vấn đề liên quan