Java 如何在Android中测试JUnit模型?

Java 如何在Android中测试JUnit模型?,java,android,unit-testing,android-activity,Java,Android,Unit Testing,Android Activity,下面是我在Android Studio中创建的一个模型的示例,该模型将在我的应用程序中使用 有这方面经验的人能给我举个例子,说明我可以在这个模型(android)上进行单元测试,让我开始学习吗 -我指的是通过谷歌Android测试的JUnit测试 使用(扩展)测试用例(JUnit.framework)等为JUnit测试创建函数 联系人代码型号: public class Contact extends MainModel { private Long id; private St

下面是我在Android Studio中创建的一个模型的示例,该模型将在我的应用程序中使用

有这方面经验的人能给我举个例子,说明我可以在这个模型(android)上进行单元测试,让我开始学习吗

-我指的是通过谷歌Android测试的JUnit测试

使用(扩展)测试用例(
JUnit.framework
)等为JUnit测试创建函数

联系人代码型号:

public class Contact extends MainModel
{
    private Long id;
    private String personName;
    private String phoneNumber;
    private String occupation;



    public Long getId() 
    { 
        return id; 
    }

    public void setId(Long id)
    { 
        this.id = id; 
    }



    public String getPersonName() 
    { 
        return personName; 
    }

    public void setPersonName(String personName) 
    { 
        this.personName = personName; 
    }



    public String getPhoneNumber()
    { 
        return phoneNumber; 
    }

    public void setPhoneNumber(String phoneNumber) 
    { 
        this.phoneNumber = phoneNumber; 
    }



    public String getOccupation()
    {
        return occupation;
    }

    public void setOccupation(String occupation)
    {
        this.occupation = occupation;
    }

}

我发现,为不依赖Android库(活动、上下文等)的类编写单元测试的唯一合理方法是安装Robolectric


然后,由于Robolectric是基于JUnit的,除了Robolectric测试(通常涉及上下文和朋友)之外,您还拥有支持简单的非Android JUnit测试的基础设施。

最近一直在研究Android中类似的JUnit测试,这应该可以让您大胆地开始。它应该解释如何测试获取和设置

public class SurveyTest extends TestCase {

private Survey survey;

protected void setUp() throws Exception {
    super.setUp();  
    survey = new Survey();
}

public void testSurvey() {
    survey.toString();
}

public void testSurveyLongString() {
    fail("Not yet implemented");
}

public void testGetId() {
    long expected = (long) Math.random();
    survey.setId(expected);
    long actual = survey.getId();
    Assert.assertEquals(expected, actual);
}

public void testGetTitle() {
    String expected = "surveytitle";
    survey.setTitle(expected);
    String actual = survey.getTitle();
    Assert.assertEquals(expected, actual);  
}

public void testIsActive() {
    Boolean expected = true;
    survey.setActive(expected);
    Boolean actual = survey.isActive();
    Assert.assertEquals(expected, actual);
}

public void testGetQuestions() {
    fail("Not yet implemented");
}

}

为了开始测试,您需要查看官方测试文档,然后再从那里转到roboelectric和robotium。至于测试,我们不知道对您的字段的限制。例如,您可以在整个应用程序中测试
长id
是否为正数。你真的应该从文档开始,这里面有很多信息需要了解。我理解你的观点,但我想要的只是一些例子,让我开始在Android中使用上面提到的模型上下文。这就是为什么我建议你为什么要测试一个模型类?只要这个类是一个简单的dto,我看不出有任何理由对它进行测试,只要在其中放入一个属性,就可以得到它。仅此而已。Andy Res-你能提供一些在Android中实现这一点的例子吗?你不能创建一些函数来测试某些数据是否可以通过使用(扩展)测试用例被接受。还是我把棍子的一端搞错了?