JUnit测试Android NullPointerException

GregY491:

我的项目使用Firebase实时数据库作为数据库存储。我正在使用带有存储库和服务层的MVC体系结构。我正在尝试对服务层中将新用户添加到数据库存储库中的方法进行单元测试。

我在下面的行上收到一个空指针异常,但我不知道为什么。有任何想法吗?

User testUser = svc.SaveUserProfile(u);

这是我的单元测试代码:

public class RegistrationActivityTest {

UserService svc;

@Test
public void testAddUserToDb_WhenNone_ShouldSetAllProperties(){
    //act
    User u = new User("1", "John", "[email protected]", "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("[email protected]", 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);
 }
米哈伊尔(Mikhail):

svc未创建的对象。在使用之前创建它:

UserService svc = new UserService(context)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章