私はFitnesseと一緒に走りたい、そしてSpringを使うテストフィクスチャを持っています。私はClasspathXmlApplicationContextでSpringアプリケーションのコンテキストをロードできませんでしたが、私はそれを理解できていないクラスパス設定であると確信しています。FitnesseテストフィクスチャでSpringのアプリケーションコンテキストをロードするには?
これは私の設定です。
あなたが見ることができるように、fitnesse.jarは、プロジェクト内にあるので、私はどこにでもますFitnesseサーバーおよびテストを実行することができ、私はプロジェクトの作業コピーを持っている(すべてのwikiファイルが内側にありますFitNesseRootフォルダ)。 binは、プロジェクトの出力フォルダです(すべての.classが存在します)。
さて、コード:
InventarioQueryTest(!ますFitnesseからwikiページ、パス宣言に気づく)
!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();
}
}
I私のプロジェクトの作業コピーからjava -jarでfitnesseを実行します。私は、テストを実行するときに、これはます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
とテストでこのエラーを生成し、そのすべて:私は理解してFASとして
java.io.FileNotFoundException: class path resource [applicationContext-ListarStatus.xml] cannot be opened because it does not exist
、パス!。 ./binは、クラスパス(java -cp呼び出し)に含めるべきすべてのサブフォルダとものを示すはずですが、明らかにそうではありません...
アイデア?あなたのお時間をありがとう!