Java 如何为这种方法编写单元测试用例?

Java 如何为这种方法编写单元测试用例?,java,junit,Java,Junit,如何为此方法编写单元测试用例?很难对包含静态方法调用的代码进行单元测试,例如hibernateUtibility.getSession() 您可以考虑注入会话实例(可能是通过添加参数到 CREATUSER())/代码>方法,或者通过提供包含该方法的对象“代码>会话工厂/对象,它可以用来获得会话< /COD>实例)。然后,您可以使用Mockito或类似的框架为该方法提供一个mockSession对象,并验证对其进行的预期调用是否正确 public String createUser() {

如何为此方法编写单元测试用例?

很难对包含静态方法调用的代码进行单元测试,例如
hibernateUtibility.getSession()

您可以考虑注入会话实例(可能是通过添加参数到<代码> CREATUSER())/代码>方法,或者通过提供包含该方法的对象“代码>会话工厂/<代码>对象,它可以用来获得<代码>会话< /COD>实例)。然后,您可以使用Mockito或类似的框架为该方法提供一个mock

Session
对象,并验证对其进行的预期调用是否正确

public String createUser() {

    Session session = HibernateUtility.getSession();
    Transaction tx = session.beginTransaction();

    session.save(this);
    tx.commit();
    session.close();

    return "accountCreated";

}
使用Mockito,单元测试可能如下所示:

public String createUser(Session session) {
    Transaction tx = session.beginTransaction();

    session.save(this);
    tx.commit();
    session.close();

    return "accountCreated";
}

很难对包含静态方法调用的代码进行单元测试,例如
hibernateutibility.getSession()

您可以考虑注入会话实例(可能是通过添加参数到<代码> CREATUSER())/代码>方法,或者通过提供包含该方法的对象“代码>会话工厂/<代码>对象,它可以用来获得<代码>会话< /COD>实例)。然后,您可以使用Mockito或类似的框架为该方法提供一个mock

Session
对象,并验证对其进行的预期调用是否正确

public String createUser() {

    Session session = HibernateUtility.getSession();
    Transaction tx = session.beginTransaction();

    session.save(this);
    tx.commit();
    session.close();

    return "accountCreated";

}
使用Mockito,单元测试可能如下所示:

public String createUser(Session session) {
    Transaction tx = session.beginTransaction();

    session.save(this);
    tx.commit();
    session.close();

    return "accountCreated";
}

你到底想测试什么?如果某些库方法有效与否,测试没有多大意义。。。如果您想测试createUser()方法的行为,只需使用您的方法创建一个用户,然后搜索该用户,在测试完成后将其删除。您想测试什么?如果某些库方法有效与否,测试没有多大意义。。。如果您想测试createUser()方法的行为,只需使用您的方法创建一个用户,然后搜索该用户,在测试完成后将其删除。谢谢:)您能告诉我如何在java中创建mock对象吗?我在包中找不到任何mock类??您需要使用单独的mock库,没有现成的Java。我更喜欢Mockito,但有很多选择,谢谢:)你能告诉我如何用java创建mock对象吗?我在我的包中找不到任何mock类??你需要使用一个单独的mock库来实现这一点,java没有现成的库。我更喜欢莫基托,但有很多选择