我已經爲使用Graphaware軟件包的Neo4j開發了一個模塊。作爲我的模塊的一部分,我想確保數據庫中存在一些索引和/或約束。爲此,我用BaseTxDrivenModule.initialize
方法來運行一對夫婦的Cypher聲明:由於CREATE INDEX和CREATE CONSTRAINT而無法運行單元測試
@Override
public void initialize(GraphDatabaseService database)
{
database.execute("CREATE CONSTRAINT ON (n:`Label`) ASSERT n.`id` IS UNIQUE;");
database.execute("CREATE INDEX ON n:`Label2`(`id`) IS UNIQUE;");
}
這些語句在生產中成功運行,當我的Neo4j的服務器實例部署模塊。但是當我想要運行單元測試時,作爲構建過程的一部分,執行會掛起並且永遠不會結束。當我省略initialize
方法時,它會繼續運行而不會出現任何錯誤。
最糟糕的部分是我必須構建如下的包:mvn package -Dmaven.test.skip=true
或者它不會構建任何東西。
所以我的問題是,爲什麼?我該如何解決這個問題?
下面是一個示例演示項目的問題:
https://github.com/ziadloo/test_neo4j_module
只是克隆並運行mvn package
,你會看到測試寫不完。
你能提供一個有問題的測試項目嗎? –
@ChristopheWillemsen我 – Mehran
感謝更新的問題,克隆,調整和回答 –