我是JUnit测试的新手,我正试图通过以下代码测试数据库访问:
public class SeuticketTest extends ActivityInstrumentationTestCase2<Seuticket> {
private Seuticket mActivity;
public SeuticketTest(String name) {
super("br.com.code.seuticket.android.view",Seuticket.class);
setName(name);
}
@Override
protected void setUp() throws Exception {
super.setUp();
mActivity = this.getActivity();
}
public void testTicketInsertion() {
Ticket ticket = new Ticket("123453", "Vip", new Date(), "Vila Country");
PersistenceTicket persistence = new PersistenceTicket(mActivity);
persistence.addTicket(ticket);
assertEquals(persistence.fetchTicket(ticket.getTicketCode()).getTicketCode(),ticket.getTicketCode());
}
public void testUserInsertion() {
User user = new User();
user.setPin("1234");
user.setPhone("9241173");
PersistenceUser persistence = new PersistenceUser(mActivity);
persistence.addUser(user);
assertEquals(persistence.fetchUser().getPin(), user.getPin());
}
}
但是我的测试在完成testTicketInsertion后卡住了,第二个测试一直在运行,有时在运行测试之前,这个消息显示在控制台上: 测试运行失败:进程崩溃。
有什么想法吗? 希望在这里找到答案。 谢谢大家!
答案 0 :(得分:1)
我是Android中JUnit测试的新手,遇到了同样的问题。确保你已经覆盖了tearDown方法,并且正在调用super。
protected void tearDown() throws Exception {
super.tearDown();
}