Difference between
version 12
and
version 11:
At line 178 added 32 lines. |
|
%%note <a name="appgen"></a>__注意:__从Appfuse版本1.6.1+开始包括了一个[AppGen]工具,可以用来生成本教程余下的所有的类的代码,不过,我们最好还是先过一遍教程再使用这个工具产生代码。%% |
|
现在,我们要创建一个DaoTest来测试我们的DAO的工作,等会儿,你说,我们还不曾创建DAO呢!,你说得对。无论如何,我发现[测试驱动开发|http://www.artima.com/intv/testdriven.html]大大的促进了软件质量,在许多年里我一直认为__在写代码之前写测试__是胡说八道,这看起来很愚蠢,但当我尝试之后我认为这样非常好,现在我按照测试驱动的方式工作完全因为我发现这样可以大大提高我软件开发的效率。 |
|
开始,我们在{{test/dao/**/dao}}目录下建立类{{PersonDaoTest.java}},这个类必须扩展[BaseDaoTestCase|http://raibledesigns.com/downloads/appfuse/api/org/appfuse/dao/BaseDaoTestCase.java.html],而BaseDAOTestCase这个类是JUnit类[TestCase|http://junit.sourceforge.net/javadoc/junit/framework/TestCase.html]的子类,这个类用来加载[Spring|http://www.springframework.org]的ApplicationContext(因为Spring把各个层绑定)和单元测试类同一目录下同你的测试类文件同名的.properties文件(ResourceBundle),这个属性文件的属性可以通过rb属性来访问。 |
|
;:%%(color: blue)''我经常拷贝(打开→另存为)一个已存在的测试(如UserDaoTest.java),然后查找/替换 [[Uu]ser为[[Pp]erson,或者任何其它需要替换的内容。''%% |
|
[{Java2HtmlPlugin |
|
package org.appfuse.dao; |
|
import org.appfuse.model.Person; |
import org.springframework.dao.DataAccessException; |
|
public class PersonDaoTest extends BaseDaoTestCase { |
|
private Person person = null; |
private PersonDao dao = null; |
|
protected void setUp() throws Exception { |
super.setUp(); |
dao = (PersonDao) ctx.getBean("personDao"); |
} |
|
protected void tearDown() throws Exception { |
super.tearDown(); |
dao = null; |
} |
} |
}] |
Back to CreateDAO_zh,
or to the Page History.
|