こんにちは私は韓国に住む大学生です。 私はこのプロセスを勉強していましたが、私が作業しているプロジェクトのユニットテスト(Junit)中にエラーが発生しましたSpring Junit4テストエラー:データソースが指定されていません
私は3日間Googleingを試みましたが、うまくいかなかった。だから、私は助けが必要です。
これはUserDaoTestでうまくいきます。ただし、BoardDaoTestの1つのメソッドはテストされていません。私はここに私のソースコードを添付します。
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())); }
ありがとうございます。ただし、データソースの指定されたエラーはありません。 –