我如何在 Android 内测试 JUnit 模型?

How can I JUnit test a model within Android?

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

在这方面有经验的人能否提供我可以对此模型(在 android 中)执行的单元测试示例以帮助我入门?

- 我指的是 JUnit 测试通过 Google Android 测试

利用(扩展)测试用例(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");
}

}