2

Eclipse プラグイン「makegood」を使用して、Eclipse で php-unit-tests を使用したいと考えています。コンソールでphpunitを実行しているとき、すべてが機能しています。

次の指示に従って、Eclipse で makegood-plugin をセットアップしました: http://www.stuermer-benjamin.de/v12_1/eclipse-4-2-with-php-android-and-unit-testing/

makegood のステータスは「テストの実行を待っています...」ですが、単体テストを実行しようとすると、コンソールに次のエラーが出力されます。

Fatal error: Class
> 'Stagehand\TestRunner\CLI\TestRunnerApplication\Command\CommandRepository'
> not found in C:\Users\myNameWith18Charac
> \.eclipse\org.eclipse.platform_4.3.0_1709980481_win32_win32_x86_64\plugins\com.piece_framework.makegood.stagehandtestrunner_2.5.0.v201311031709\resources\php\php\Stagehand\TestRunner\CLI\TestRunnerApplication\Application.php
> on line 64
> 
> Call Stack:
>     0.0000     148336   1. {main}() C:\Users\myNameWith18Charac\.eclipse\org.eclipse.platform_4.3.0_1709980481_win32_win32_x86_64\plugins\com.piece_framework.makegood.stagehandtestrunner_2.5.0.v201311031709\resources\php\bin\testrunner.php:0
>     0.0100     460744   2. Stagehand\TestRunner\CLI\TestRunnerApplication\Application->__construct()
> C:\Users\myNameWith18Charac\.eclipse\org.eclipse.platform_4.3.0_1709980481_win32_win32_x86_64\plugins\com.piece_framework.makegood.stagehandtestrunner_2.5.0.v201311031709\resources\php\bin\testrunner.php:58

クラスStagehand\TestRunner\CLI\TestRunnerApplication\Command\CommandRepositoryは存在します!

パスが長すぎる可能性がありますか?しかし、私は知りません、それを変更する方法。win7 x64 を使用しています。

4

1 に答える 1

1

Eclipse Kepler と PDT 3.3 を実行している Ubuntu でも同じことが見られます。

MakeGood でデバッグを有効にすると、実際に実行されているコマンドが、php現在表示しているファイル (例: テスト) の単一の引数であることがわかります。

ファイルを単独で実行しようとしているだけなので、宣伝されているようには機能しません。

Eclipse 3.8 (Juno) にダウングレードすると、PDT 3.0.0 でうまくいきました。

*編集

回避策として、カスタム bash スクリプトを php 実行可能ファイルとして定義し、testrunner.php へのパスをハードコードすることができます。

#!/bin/bash
# MakeGood for PHP stopped working after Eclipse Indigo (3.8) due to inability to run testrunner.php
# This is a hack PHP binary, to be configured as PHP executable for MakeGood to start working in Juno, Kepler and Luna.

# Remove the -n operator to read all config files
options=`echo $@ | sed 's%-n %%' | sed 's%-c .+? %%'`

# Hardcode path to testrunner.php
options=`echo $options | sed 's@open_tag=on [^ ]*@open_tag=on /opt/testrunner.php

/usr/bin/php $options
于 2014-05-01T16:09:44.873 に答える