android – 我如何模拟和测试这个类?

android – 我如何模拟和测试这个类?,第1张

概述以下是我想测试的代码. public class Demo { private static final List<Pair<String, String>> mList; static { mList = new ArrayList<>(); mList.add(new Pair<>("F0", "T1")); mList.add(new Pair< @H_403_2@ 以下是我想测试的代码.

public class Demo {   private static final List<Pair<String,String>> mList;   static {     mList = new ArrayList<>();     mList.add(new Pair<>("F0","T1"));     mList.add(new Pair<>("F1","T2"));     mList.add(new Pair<>("F2","T3"));   }   public String getStr(int pos) {     return mList.get(pos).first;   }}

我是一个AndroID开发人员.我在测试和模拟代码时遇到了一些麻烦.我使用了mockito.
我已经尝试了一些代码来测试它,但结果并不是我的期望.

1.第一次尝试

@Testpublic voID test(){    Demo demo=new Demo();    assertEquals(demo.getStr(0),"F0");    /**    *  java.lang.AssertionError:     *  Expected :null     *  Actual   :F0    */}

2.第二次尝试

@Testpublic voID test() {    Demo demo = mock(Demo.class);    docallrealMethod().when(demo).getStr(0);    assertEquals(demo.getStr(0),"F0");    /**     *  java.lang.AssertionError:      *  Expected :null     *  Actual   :F0     */}

任何人告诉我如何解决这个问题,通过调用真正的方法使demo.getStr(0)==“F0”?谢谢!

===========================

另一个问题与此有关

我已经尝试了另一个测试来测试androID.util.Pair类,结果是“pair.first”为null,.(有androIDTest和测试目录,我把它放到测试包中.它会影响结果吗? )

import androID.util.Pair;import org.junit.Test;import org.mockito.Mockito;import static org.junit.Assert.assertEquals;public class DemoTest {    @Test    public  voID test1(){        Pair<String,String> pair=new Pair("First","Second");        assertEquals("First",pair.first);        //pair.first was null,why?    }    @Test    public voID test2(){        Pair<String,String> pair= Mockito.spy(Pair.class);        assertEquals("First",pair.first);        //pair.first was null also,why?    }}

为什么简单代码在真实的androID环境中是正确的,但测试失败?

解决方法 我也有同样的问题.一个月前我也遇到了TextUtils类的问题.

我向jUnit报告此问题,但他们坚持认为问题在于androID包.

所以你可以考虑很多androID包有jUnit的问题,也许robolectric可以处理这些.

对于那种情况,你可以使用这个包.这对我有用

import androID.support.v4.util.Pair;
@H_403_2@ 总结

以上是内存溢出为你收集整理的android – 我如何模拟和测试这个类?全部内容,希望文章能够帮你解决android – 我如何模拟和测试这个类?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1122537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存