我正在使用带有EXT JS的Spring和hibernate使用tomcat在网页上填充EXT JS表单...我使用访问数据库的方法填充表并返回我的HQL语句
现在我正在尝试执行一个简单的JUnit测试来计算返回的记录数,但是当我在JUint测试中调用填充EXT JS表单的方法时,它会返回此感知...我不知道为什么< / p>
JUnit Test class
package com.fexco.helloworld.web;
import static org.junit.Assert.assertEquals;
import java.util.List;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import com.fexco.helloworld.web.dao.CustomerDaoImpl;
import com.fexco.helloworld.web.model.Customer;
/**
* Unit test for simple App.
* /
public class CustomerServiceTest {
@Autowired
private CustomerDaoImpl customerDaoImpl;
@Test
public void findAllCustomersTest() {
List<Customer> list = customerDaoImpl.findAllCustomers();
int numberInDatabase = list.size();
assertEquals(5, numberInDatabase);
}
}
访问数据库的方法
public List<Customer> findAllCustomers(){
List<Customer> list = getHibernateTemplate().find("from Customer");
return list;
}
我的方法调用访问数据库的方法
public List<Customer> returnAllCustomers(){
List<Customer> list = customerDaoImpl.findAllCustomers();
return list;
}
你可以在这里看到,表格使用与junit中相同的方法填充数据库中的项目(findAllCustomers())
有人有什么想法吗?
答案 0 :(得分:5)
在类CustomerServiceTest
之前添加以下行@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "file:src/main/resources/app-context.xml" })
public class CustomerServiceTest {....
其中src / main / resources / app-context.xml - 是应用程序上下文的路径。它很好,为测试创建单独的上下文。
修改强>
您还需要在类路径中包含spring-test.jar
。
对maven的依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring-version}</version>
</dependency>
答案 1 :(得分:0)
您没有在单元测试中加载Spring上下文。
您可以在此处查看Spring文档:http://static.springsource.org/spring/docs/3.0.5.RELEASE/reference/testing.html