你好,我是一名大学生住在韩国。 我一直在研究这个过程,并在我正在进行的项目的单元测试(Junit)期间出现错误春Junit4测试错误:没有数据源指定
我尝试Googleing 3天,但没有成功。所以,我需要帮助。
这非常适用于UserDaoTest。但是,BoardDaoTest的一种方法未经测试。我在这里附上我的源代码。
JdbcTemplate.java
public class JdbcTemplate extends JdbcDaoSupport { private static final Logger logger = LoggerFactory.getLogger(JdbcTemplate.class); public static Connection conn; public PreparedStatement pstmt; public PreparedStatement pstmt2; public ResultSet rs; @PostConstruct public void initialize() { DataSource ds = getDataSource(); logger.info("get Data Source success!"); conn = DataSourceUtils.getConnection(ds); logger.info("Conn = " + conn); logger.info("database initialized success!"); } { ... }
的applicationContext.xml
<context:annotation-config /> <context:property-placeholder location="classpath*:application-properties.xml" /> <bean id="applicationContextProvider" class="viser.service.ApplicationContextProvider" /> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" p:driverClassName="${database.driverClassName}" p:url="${database.url}" p:username="${database.username}" p:password="${database.password}" /> <bean id="jdbcTemplate" class="viser.service.support.jdbc.JdbcTemplate" p:dataSource-ref="dataSource" /> <bean id="userDAO" class="viser.dao.user.UserDAO"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="boardDAO" class="viser.dao.board.BoardDAO"> <property name="dataSource" ref="dataSource" /> </bean>
UserDAOTest.java(成功测试)
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:/applicationContext.xml") public class UserDAOTest { @Autowired private UserDAO userDAO; private User user; @Before public void setUp() { user = UserTest.TEST_USER; } @After public void returns() throws SQLException { userDAO.removeUser(user.getUserId()); } @Test public void crud() throws Exception { { ... } } @Test public void getWhenNotExsitUser() throws Exception { { ... } }
BoardDAOTest.java(CRUD() - >成功的GetList() - >失败)
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:/applicationContext.xml") public class BoardDAOTest { private static final Logger logger = LoggerFactory.getLogger(BoardDAOTest.class); public static Board TEST_BOARD = new Board("TEST_BOARD", `ProjectDAOTest.TEST_PROJECT.getProjectName());` @Autowired private BoardDAO boardDAO; private ProjectDAO projectDAO; @Before public void setup() throws SQLException { boardDAO = new BoardDAO(); projectDAO = new ProjectDAO(); projectDAO.addProject(ProjectDAOTest.TEST_PROJECT); } @After public void returns() throws SQLException { projectDAO.removeProject(ProjectDAOTest.TEST_PROJECT.getProjectName()); } @Test public void crud() throws SQLException { {...} } @Test public void getList() throws SQLException { logger.debug("list : {}", boardDAO.getBoardList(ProjectDAOTest.TEST_PROJECT.getProjectName())); assertNotNull(boardDAO.getBoardList(ProjectDAOTest.TEST_PROJECT.getProjectName())); }
谢谢你,但我不会解决任何数据源指定的错误..:( –