浏览 4435 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-01
public class SampleTest extends SeamTest { @Test public void testSample() throws Exception { new FacesRequest() { }.run(); } } 那出现的错误就是千奇百怪的了;如果在没有结合容器的时候;那一般只会出现一两种错误;主要是找不到数据源 <?xml version="1.0" encoding="UTF-8"?> <!-- Persistence deployment descriptor for tests --> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="testNGS"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:/DefaultDS</jta-data-source> <properties> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.cache.use_second_level_cache" value="false"/> <property name="jboss.entity.manager.factory.jndi.name" value="java:/testNGSEntityManagerFactory"/> </properties> </persistence-unit> </persistence> 这是因为你没有启动你的应用服务器 这时你可以不用jndi,你可以利用直接连接数据库,修改以下代码 <?xml version="1.0" encoding="UTF-8"?> <!-- Persistence deployment descriptor for tests --> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="testNGS" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name="hibernate.connection.url" value="jdbc:mysql://localhost/seam" /> <property name="hibernate.connection.driver_class" value="org.gjt.mm.mysql.Driver" /> <property name="hibernate.connection.username" value="root" /> <property name="hibernate.connection.password" value="root" /> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> <property name="hibernate.hbm2ddl.auto" value="create-drop" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.cache.use_second_level_cache" value="false" /> <property name="jboss.entity.manager.factory.jndi.name" value="java:/testNGSEntityManagerFactory" /> </properties> </persistence-unit> </persistence> 这时你可以看到你的数据可以进行操作了(可以看到相应的hql语句) 下面我们来一步一步的进行 1、在Eclipse下安装TestNG插件,这一步很简单,只需要下载后放到plugs下就行了 2、利用seam-gen生成你的seam应用工程,这一步也很简单,只需要两个命令(seam setup、seam create-project)填写你的相应参数就行了 3、将你生成的工程导入到Eclipse下 4、写一个最简单的测试,也可以从seam里取一个简的,但是不能运行,因为还有很多jar没加进来 5、这是最关键的一步,添加jar,只需在原来的基础加入4个jar就行了,有一个jar在工程里不能找到jboss-backport-concurrent.jar;我是从网上下的;注意以下代码;这是ant里最关键的 <path id="test.classpath"> <path path="${test.dir}" /> <fileset dir="${lib.dir}/test"> <include name="*.jar" /> </fileset> <fileset dir="${lib.dir}"> <!-- Don't include seam-ui or interop modules --> <exclude name="jboss-seam-ui.jar" /> <exclude name="jboss-seam-wicket.jar" /> <exclude name="interop/**/*" /> </fileset> <path path="${eejb.conf.dir}" /> <path refid="test.classpath.extras" /> <path refid="build.classpath.extras" /> <path refid="emma.classpath" /> <path location="${seam.dir}/src/test/resources/log4j.xml" /> </path> 6、现在可以运行了,一直绿 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-10-13
我想请教一下 我也是按你说的这样做的 单元测试好使 集成测试报错
基本是@beforeclass init 的错 不知在eclpse中用testng集成测试seam如何配置 向您请教 希望您能帮帮我 |
|
返回顶楼 | |