Я новичок в Junit. Недавно мне нужно добавить некоторые тестовые функции для проекта Spring Web. Итак, я добавляю новый проект только для тестирования.JUnit in Spring web project
Во-первых, я добавляю тестовый пример для тестирования ADServiceImpl, а следующий - мой тестовый код.
@Test
public void test() {
ADServiceImpl service = new ADServiceImpl();
UserInfo info = service.getUserInfo("admin", "123456");
assertEquals("Result", "00", info.getStatus().getCode());
}
После того, как я запустил тест и получил ошибку, «конечная точка» равна нулю. Но «конечная точка» устанавливается весной @Resource (name = «adEndpoint») из конфигурации xml.
Как я могу справиться с этой проблемой? Или есть другие рекомендации для тестирования веб-проектов весны? Спасибо огромное!
@Service("ADService")
public class ADServiceImpl implements ADService {
private final static Logger logger = Logger.getLogger(ADServiceImpl.class);
@Resource(name = "adEndpoint")
private String endpoint;
public UserInfo getUserInfo(String acc, String pwd) throws JAXBException, RemoteException {
if (StringUtils.isBlank(endpoint)) {
logger.error("***** AD Endpoint is blank, please check sysenv.ad.endpoint param ******");
}
ADSoapProxy proxy = new ADSoapProxy();
proxy.setEndpoint(endpoint);
logger.debug("***** AD endpoint:" + endpoint + "******");
String xml = proxy.userInfo(acc, pwd);
StringReader reader = new StringReader(xml);
JAXBContext jaxbContext = JAXBContext.newInstance(UserInfo.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
return (UserInfo) jaxbUnmarshaller.unmarshal(reader);
}
}
Вы можете включать объявление класса, что ваши тесты JUnit находятся в? Я предполагаю, что вы не указываете тестовый бегун (обычно это что-то вроде '@RunWith (SpringJUnit4ClassRunner.class)'. Это то, что говорит Spring, чтобы вставлять зависимости из вашего конфига. См. [Весенние документы] (http: // docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#testcontext-framework) для получения дополнительной информации. – DaveyDaveDave
@DaveyDaveDave да, это точка. У меня нет @RunWith (SpringJUnit4ClassRunner.class), чтобы добавить бобы. Большое спасибо! – Louis