Seam 工程搭建记录(2) -- 单元测试搭建

Seam工程要能够运行单元测试首先要把JBoss Embedded容器环境搭建起来

 

还是采用搭建Tomcat时候的embedded-jboss-beta3.SP10  

 

1. 将JBoss Embedded的容器中的bootstrap目录下的东西复制到java工程的测试环境下,例如:src/test/resources

2. 在测试环境下建立WEB-INF目录,复制实际发布的WEB-INF目录下的东西到此目录

3. 复制hibernate.cfg.xml,seam.properties等项目配置到测试环境的根目录下,例如:src/test/resources

<目录结构可以参考附件图片>

 

4. 采用如下的maven配置,搭建相应的lib库

<!-- Unit Test -->
		<dependency>
			<groupId>org.jboss.seam.embedded</groupId>
			<artifactId>hibernate-all</artifactId>
			<version>beta3.SP12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.seam.embedded</groupId>
			<artifactId>jboss-embedded-all</artifactId>
			<version>beta3.SP12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.seam.embedded</groupId>
			<artifactId>thirdparty-all</artifactId>
			<version>beta3.SP12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.seam.embedded</groupId>
			<artifactId>jboss-embedded-api</artifactId>
			<version>beta3.SP12</version>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.jboss.microcontainer</groupId>
					<artifactId>jboss-deployers-client-spi</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.testng</groupId>
			<artifactId>testng</artifactId>
			<version>5.9</version>
			<scope>test</scope>
		</dependency>

 

这样,单元测试的微环境搭建成功

 

接下来编写单元测试的样例, 所有的单元测试类都要继承与SeamTest类

public class UserDaoTest extends SeamTest {

	@Test
	public void testCRUD() throws Exception {
		new FacesRequest() {

			@Override
			protected void invokeApplication() throws Exception {
				User user = new User();
				user.setUsername("Kevin Chen");
				user.setPassword("Orz");
				IUserDao userDao = (IUserDao) getValue("#{userDao}");	// 获取注入对象
				Assert.assertNotNull(userDao);
				userDao.save(user);
				System.out.println(user.getId());
				Assert.assertNotNull(userDao.get(user.getId()));

				user.setUsername("Kingdom Sky");
				userDao.update(user);
				User user2 = userDao.get(user.getId());
				System.out.println(user2.getUsername());
				Assert.assertEquals(user2.getUsername(), user.getUsername());
				Assert.assertEquals(userDao.get(user.getId()).getUsername(),
						"Kingdom Sky");
				List<User> users = userDao.findByCriteria();
				System.out.println(users.size());
				for (User u : users) {
					System.out.println("Username : " + u.getUsername());
				}

			}

		}.run();
	}
}
 

最后,要在eclipse下运行单元测试,需要安装TestNG插件

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值