0

私たちのプロジェクトの単体テスト (JUnit) を書き始めたいと思います。これは J2EE 1.4 と Hibernate 3.1 を使用しており、接続コードとサービス層 (サーブレットが正しければ? 訂正してください!) の間に密結合があります。

したがって、いくつかのフォーム値を保持する機能があるとします。構造は次のようなものです。

MyServlet.java

public void doGet(ServletRequest request, ServletResponse response)
{
    T_Donation instance - new T_Donation();

    instance.setName(request.getParameter("name"));
    instance.setAmount(request.getParameter("amount"));

    MyDAO dao = new MyDAO();
    Boolean b = dao.persistInstance(instance);

    if(b.booleanValue())
    {
        // forward to .jsp file by means of RequestDispatcher
    } 

}

モデル T_寄付

public class T_Donation implements Serializable
{
   private String name;
   private String amount;

   // getters, setters
   // equals, hashcode
}

DAO クラス

public class MyDAO
{
    public boolean persistInstance(T_Donation instance)
    {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = null; 
        try
        {
           tx = sesion.beginTransation();
           // setters again if needed
           session.save(instance);           
           tx.commit();
        }
        catch(Exception ex)
        {
             ex.printStackTrace();
             return false;
        } 
        finally
        {
             session.close();
        }
        return true; 
    }

}

コードベースはこんな感じ。私はDAOパターンを学んでいますが、ここでも間違って実装されていると思います。

私の質問は、この小さな機能を考慮して、どのように単体テストを書き始めるのでしょうか? そして、それはいくつ必要ですか?最初のステップは私にとって本当に難しいです。

また、よりクリーンなコードの実践に関するコメントも歓迎します。

4

1 に答える 1