小编ido*_*w09的帖子

如何测试依赖于 CountDownTimer 的 Android 类

我正在为一个 android 应用程序编写一个 ViewModel,它应该实现并启动一个 CountDownTimer 以便不时更新一些 UI。

我最近开始实践 TDD,我想知道我应该做出哪些架构决策才能使 ViewModel 可测试(我希望测试快速运行而不依赖于实际的计时机制)。我无法提供 CountDownTimer 作为依赖项,因为它是在 ViewModel 本身中实现的抽象类,所以我“不知道”要提供什么实现。

一般来说,在使用具有严格约束和不可测试的框架代码的框架时,编写测试的最佳实践是什么?

这是我目前拥有的代码。你如何使它可测试?

import android.arch.lifecycle.ViewModel;
import android.os.CountDownTimer;

class MyViewModel extends ViewModel {

    private MyView myView;

    public void init(MyView myView) {
        this.myView = myView;
        new CountDownTimer(0, 1000) {
            @Override
            public void onTick(long l) {
                myView.updateUi(l);
            }

            @Override
            public void onFinish() {
                myView.updateUiFinished();
            }
        }.start();
    }

    public interface MyView {
        void updateUi(long l);

        void updateUiFinished();
    }
}
Run Code Online (Sandbox Code Playgroud)

testing tdd dependencies android unit-testing

4
推荐指数
1
解决办法
1758
查看次数

如何找到我的整个二进制图像的质量中心?

我有兴趣为我的整个二进制图像找到坐标(X,Y),而不是每个组件的CoM分别找到.我怎样才能有效地做到这一点?我想使用regionprops,但找不到正确的方法.

matlab image-processing morphological-analysis

2
推荐指数
2
解决办法
1万
查看次数