gpt4 book ai didi

Android MVP - 查看单元测试 - 设置演示者

转载 作者:行者123 更新时间:2023-11-29 02:31:39 30 4
gpt4 key购买 nike

我想为我的 MainActivity 编写单元测试。该 Activity 有一个 MainPresenter。演示者有一个方法 A() 需要在 Activity

onCreate() 中调用

代码如下:

public class MainActivity implements MainContract.View {
private MainPresenter presenter;

@Override
protected void onCreate(final Bundle savedInstanceState) {
...
presenter = new MainPresenter(this);
...
presenter.A();

}
}

现在,我想创建一个模拟 MainPresenter 的单元测试,然后检查是否调用了方法 A()。目前,我认为测试是否调用了 Presenter 的模拟方法是不可能的。我的问题是 - 我需要更改什么才能使其可测试?

最佳答案

使用 Robolectric:

    activity = Robolectric
.buildActivity(MainActivity::class.java)
.create().get()

并在您的 MainActivity 中使用依赖注入(inject)提供演示者。

编辑:

如果你不想更改太多代码,你也可以 stub MainPresenter 的构造函数:

PowerMockito.whenNew(MainPresenter.class).withArguments(YOUR_ARGUMENTS).thenReturn(MOCKED_PRESENTER);

关于Android MVP - 查看单元测试 - 设置演示者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49363960/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com