У меня есть этот тестовый прибор, который я хочу использовать с Fitnesse, и он включает использование Spring.Я не смог загрузить контекст весеннего приложения с помощью ClasspathXmlApplicationContext, и я уверен, что это конфигурация пути к классам, которую я просто не понял.
Итак, вот мои настройки.
Как видите, файл fitnesse.jar находится внутри проекта, поэтому я могу запускать сервер fitnesse и тесты везде, где у меня есть рабочая копия проекта (все файлы вики)находятся в папке FitNesseRoot). bin является выходной папкой проекта (где находятся все .class).
Теперь код:
InventarioQueryTest (вики)страница от Fitnesse, обратите внимание на объявления ! path )
!define TEST_SYSTEM {slim}
!path ../bin
!path ../web/WEB-INF/lib/**.jar
|import |
|com.softclear.inventario.test.fitnesse|
|Query:listar status |
|id|nombre|entidad|descripcion|
ListarStatus.java (текстовое приспособление, вызванное Fitnesse)
public class ListarStatus {
private ServicioStatus serv;
private ClassPathXmlApplicationContext ctx;
//fitnesse calls the constructor
public ListarStatus(){
ctx = new ClassPathXmlApplicationContext(new String[] {
"applicationContext-ListarStatus.xml",
"applicationContext-dao.xml",
"applicationContext-hibernate.xml"});
//performs dependency injection of DAO and HibernateSession
serv = (ServicioStatus) ctx.getBean("servicioStatus");
}
//and the query method is the test
public List<Object> query() {
List<Status> lista = serv.listarStatus();
QueryResultBuilder builder = new QueryResultBuilder(Status.class);
QueryResult result = builder.build(lista.iterator());
return result.render();
}
}
Я запускаю фитнес с java -jar из рабочей копии моего проекта.И когда я запускаю тест, это команда, которую выполняет fitnesse:
java -cp fitnesse.jar;../bin;C:\Dev\WS\softclear\SistemaInventario\fitnesse\..\web\WEB-INF\lib\ajax\AjaxFileUpload-0.03.jar;%the.rest.of.the.web-inf/lib.jars...% fitnesse.slim.SlimService 8086
И все, что выдает эту ошибку в тесте:
java.io.FileNotFoundException: class path resource [applicationContext-ListarStatus.xml] cannot be opened because it does not exist
Насколько я понимаю,! Path ../bin в вики должен указывать все подпапки и вещи, которые должны быть включены в classpath (вызов java -cp), но, видимо, это не так ...
Есть идеи?Большое спасибо за ваше время!