2

FitNesse がどのように機能するかを理解しようとしていますが、テストを正常に実行できませんでした。私が欠けているものを誰かが助けてくれますか?

本「Android Application Testing Guide」のすべての手順に従いました。AndroidサンプルプロジェクトTemperatureConverterとテストプロジェクトTemperatureConverterTestがあります。

以下は私の FitNesse Wiki です。

!contents -R2 -g -p -f -h
!define TEST_SYSTEM {slim}

!path C:\User\Workspaces\android\FitNesse\fitnesse.jar
!path C:\User\Workspaces\android\TemperatureConverter\bin\classes\
!path C:\User\Workspaces\android\TemperatureConverterTest\bin\classes\ 

!|import                                   |
|com.example.aatg.tc.test.fitnesse.fixture|

!define COLLAPSE_SETUP {true}
!define COLLAPSE_TEARDOWN {true}

!|TemperatureConverterCelsiusToFahrenheitFixture          |
|celsius|fahrenheit?                                      |
|0.0    |~= 32                                            |
|100.0  |212.0                                            |
|-1.0   |30.2                                             |
|-100.0 |-148.0                                           |
|32.0   |89.6                                             |
|-40.0  |-40.0                                            |
|-273.0 |~= -459.4                                        |
|-273   |~= -459.4                                        |
|-273   |~= -459                                          |
|-273   |~= -459.40000000000003                           |
|-273   |-459.40000000000003                              |
|-273   |-459.41 < _ < -459.40                            |
|-274.0 |Invalid temperature: -274.00C below absolute zero|

しかし、テストを実行すると、次のエラーが発生します。

ここに画像の説明を入力

4

2 に答える 2

1

親スイート ページまたはテスト ページの !path ステートメントは、.class ファイルを含む親パッケージが存在するディレクトリのパスを指す必要があります。必ずしもクラス ファイル自体を含む子ディレクトリを指す必要はありません。ディレクトリ構造の残りの部分は、テスト ページのインポート テーブルのクラス パスによって暗示されます。

したがって、あなたの例では、

  • のパスC:\User\Workspaces\android\TemperatureConverter\bin\classes\
  • の輸入com.example.aatg.tc.test.fitnesse.fixture

したがって、.class ファイルの場所 C:\User\Workspaces\android\TemperatureConverter\bin\classes\com\example\aatg\tc\test\fitnesse\fixture\TemperatureConverterCelsiusToFahrenheitFixture.class を見つけるためにそれらを連結する必要があります

*nix ユーザー向け

  • !path には C:\ を含めないでください。スラッシュを使用してファイル システムのルートから指定する必要があります。
  • /Users/johndoe/myFitProject/target/test-classes

これは、Java プロジェクトのコンパイル済みクラス ディレクトリ ツリーがルートとなるシステム ディレクトリである必要があります。つまり、最終的に .class ファイルが含まれる「com」フォルダの場所です。

于 2014-05-12T23:18:51.773 に答える