簡體   English   中英

JUnit 測試 Android NullPointerException

[英]JUnit Testing Android NullPointerException

我的項目使用 Firebase 實時數據庫作為其數據庫存儲。 我正在使用帶有存儲庫和服務層的 MVC 架構。 我正在嘗試對服務層中的一種方法進行單元測試,該方法將新用戶添加到數據庫存儲庫中。

我在下面的行中收到 null 指針異常,我不知道為什么。 有任何想法嗎?

User testUser = svc.SaveUserProfile(u);

這是我的單元測試代碼:

public class RegistrationActivityTest {

UserService svc;

@Test
public void testAddUserToDb_WhenNone_ShouldSetAllProperties(){
    //act
    User u = new User("1", "John", "john@email.com", "Teacher");
    User testUser = svc.SaveUserProfile(u);

    //assert - that testUser is not null
    assertNotNull(testUser);

    //now assert that the user properties were set correctly
    assertEquals("1", testUser.getUserId());
    assertEquals("John", testUser.getName());
    assertEquals("john@email.com", testUser.getEmail());
    assertEquals("Teacher", testUser.getAccount());
}

這是我的服務層和接口代碼:

public class UserService implements IUserService {

//instance of DbContext for firebase handling
private DbContext dbContext;

public UserService(Context context){
    super();
    dbContext = new DbContext(context);
}

@Override
public User SaveUserProfile(User u) {
    User user = new User();
    user.setUserId(u.getUserId());
    user.setName(u.getName());
    user.setEmail(u.getEmail());
    user.setAccount(u.getAccount());

    dbContext.AddUserAccount(user);

    return user;
}

界面:

public interface IUserService {

User SaveUserProfile(User u);
 }

您的svc是 object 未創建。 在使用之前創建它:

UserService svc = new UserService(context)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM