【问题标题】:Android Test a function is being called on ScrollAndroid测试一个函数正在被滚动调用
【发布时间】:2021-06-11 22:45:17
【问题描述】:

我有这个 ScrollChangedListener

var scrolledOnce = false
 scrollView.setOnScrollChangeListener(object : View.OnScrollChangeListener{
            override fun onScrollChange(
                v: View?,
                scrollX: Int,
                scrollY: Int,
                oldScrollX: Int,
                oldScrollY: Int
            ) {

              if(!scrolledOnce) {
                  scrolledOnce = true
                  handler.postDelayed(Runnable {
                      scrolledOnce = false
                      isCalled()
                  }, 1000)
              }

            }

        })

这是对那个的测试

@get:Rule
    var activityScenarioRule = activityScenarioRule<MainActivity>()

    @Test
    fun checkScrollEvent(){

        Espresso.onView(ViewMatchers.withId(R.id.scrollVw)).perform(ViewActions.swipeDown())

    }

我想验证 isCalled() 是否被调用。我该怎么做?

【问题讨论】:

    标签: android android-espresso android-testing


    【解决方案1】:

    我认为您可能希望在滚动视图上向上滑动而不是向下滑动。

    onView(withId(R.id.scrollVw).performViewActions.swipeUp())
    
    onView(withText("The next item").check(matches(isDispalyed())
    

    【讨论】:

      猜你喜欢
      • 2016-11-16
      • 1970-01-01
      • 2016-10-07
      • 2011-04-18
      • 2014-08-08
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多