2010-05-05 57 views
1

當運行「mvn test」命令時,運行PHPUnit測試。 我遇到的問題是在從maven運行測試時,不會調用測試類中的setUpBeforeClass()方法。 有人知道這個問題嗎?我使用存儲庫上的最新版本的PHPUnit(3.3.9)。PHPUnit + Maven for PHP - setUpBeforeClass()不叫

回答

1

正如@khmarbaise提到,支持setUpBeforeClass()已PHPUnit中加入3.4+(見Ticket #814)和我的理解是,你只需要得到它使用Maven的安裝PHPUnit 3.4+。按照the install instructions

+0

謝謝帕斯卡爾。問題是我無法得到使用maven的3.4.12(最後一個版本)。我試圖手動在本地資源庫中安裝一個zip/jar文件,就像他們在php-maven.org/add3partylibs.html上所說的那樣,但它似乎不起作用。 當運行「mvn install」時,它會給我一個沒有任何描述的編譯錯誤。 [INFO] php.out:Sebastian Bergmann的PHPUnit 3.4.12。 [INFO] php.out:Time:1 second,Memory:4.25Mb [INFO] php.out:OK(2 tests,2 assertions) [錯誤] Testcase:querytest.php失敗。 [錯誤]請參閱日誌:C:\ un/querytest.txt [INFO] PHPUnit 3.4.12作者:Sebastian Bergmann ... 任何想法? – Softy 2010-05-06 06:47:45

+0

querytest.txt內容: PHPUnit 3.4.12作者:Sebastian Bergmann ...時間:1秒,內存:4.25MbOK(2個測試,2個斷言) – Softy 2010-05-06 06:48:29

+0

@Softy我可能是錯的,但我不會添加PHPUnit到您的本地存儲庫確實會改變某些事我明白,phpunit是一個可執行文件,從PEAR安裝更新的版本會讓你使用更新的版本。您目前的phpunit版本是否在Maven之外工作?你能測試這個嗎? – 2010-05-06 07:17:22

0

如果我明白phpunit的文檔正確,那麼只有在PHPUnit 3.4.X中才有3.3.9版本的setUpBeforeClass()發佈,我找到了這樣的方法。

+0

謝謝。那麼是否有任何方法將PHPUnit 3.4.X與Maven for PHP一起使用?有任何想法嗎?我試圖手動在本地存儲庫中安裝一個zip/jar文件,就像他們在http://www.php-maven.org/add3partylibs.html上所說的那樣,但它似乎不起作用... – Softy 2010-05-05 15:26:21

+0

什麼不起作用?錯誤信息? – khmarbaise 2010-05-05 15:40:59

+0

看來,maven看到PHPUnit 3.4.12版本,運行它,但我得到一個錯誤。 at org.phpmaven.plugin.build.PhpUnitCompile.executePhpFile(PhpUnitCompile.java:241) ... 28更多 [DEBUG] ---編譯已完成。 [INFO] ---------------------------------------------- -------------------------- [錯誤]編譯錯誤 引起:org.phpmaven.plugin.build.PhpCompileException: AND 引起:org.apache.maven.plugin.MojoExecutionException: – Softy 2010-05-06 12:30:51