2016-04-18 17 views
0

マイケル・ソレンズのCleanCodeFixturesにFitnesseを使用しています。 Acceptance Testing with Fitnesseです。
私はコードが正しいと思っています。フィットネスのページは正しいと思います。フィットネス設定のデバッグ方法

概要
マイケルますFitnesseページは「フィクスチャ」の接尾辞なしで備品を参照してください。多くの場所でこれは正常に動作しますが、多くの場合、これは動作しません。
CleanCodeFixtures.Common.Diagnosticではなく、CleanCodeFixtures.Common.DiagnosticFixtureです。
この状況をデバッグするにはどうすればよいですか?

詳細
!pathはFitnesse \ FitNesseRoot \ content.txtにあり、dllは正しいディレクトリにあります。 ProcMonによれば、dllを探している。

!note .NET References 
!path fitsharp\dbfit.dll 
!path fitsharp\dbfit.sqlserver.dll 
!path Fixtures\CleanCodeFixtures.dll 
!path fitsharp\fit.dll 

それでもdllの中にフィクスチャーが見つかりません。

ファイルますFitnesse \ FitNesseRoot \ CleanCode \ SuiteSetUpの\ content.txtは、それはそれが備品を見つけることができないと文句を言い

!|CleanCodeFixtures.Common.Diagnostic| 
|Begin        | 
|${PAGE_NAME}      | 

!|import      | 
|dbfit.fixture    | 
|CleanCodeFixtures.Common  | 
|CleanCodeFixtures.ControlFlow| 
|CleanCodeFixtures.Database | 

!note This allows enabling/disabling debugging with the external command files !-EnableDebug.cmd and DisableDebug.cmd-!. 
!|Debugger     | 
|Launch With External Trigger| 
|       | 

が含まれています。

Fixture:CleanCodeFixtures.Common.Diagnosticが見つかりませんでした。
フィクスチャ:インポートが見つかりませんでした。
フィクスチャ:デバッガが見つかりませんでした。最初の行

!|Import | ## note that it is case sensitive 
|CleanCodeFixtures.Common.Diagnostic| 

前にこれを追加する

が動作しているように見えますが、何も変更していないようです。次の表のDiagnosticクラスを使用すると、同じエラーが発生します。 CleanCodeFixtures.Common.Diagnostic:

CleanCodeFixtures.Common.Diagnostic
は、フィクスチャを見つけることができませんでした。

どのようにDLLを見つけることができるのかわかりませんが、どのフィクスチャも見つけられません。

コードには、DiagnosticクラスとDiagnosticFixtureクラスがあります。

namespace CleanCodeFixtures.Common 
{ 
    public class Diagnostic 

...

namespace CleanCodeFixtures.Common 
{ 
    public class DiagnosticFixture : ColumnFixture 

明示的DiagnosticFixtureを参照しますFitnesseページを変更する動作しますが、それは他の多くの備品のためにそれなしで動作する理由を説明しません。
これをデバッグする方法はありますか?

答えて

0

テスト実行のクラスパス設定を確認してください。外部依存関係を使用している場合は、!pathステートメントを使用して、テスト実行を適切な場所にポイントして依存関係を見つける必要があります。

!path /path/to/your.dll 

はこの後、テストはクラスパス上の治具を見つけることができるはずですが、あなたが投稿コードから、それはそうです:(階層にアップか何か)テストページにこのような何かを入れてみてくださいフィクスチャをテストケースにインポートしませんでした。これを行うにはこの2つのステップはそれを解決できない場合は

!|import | 
|CleanCodeFixtures.Common.Diagnostic| 

は、完全なテストページのコードを投稿してください。

+0

私の場合、これはエラーです。インポートのように大文字と小文字が区別されます。 – BWhite

+0

これらの2行をroot \ contentファイルに追加すると少なくとも結果が変更されました。 !define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer、fitsharp \ fit.dll%p} !define TEST_RUNNER {fitsharp \ Runner.exe} – BWhite

+0

これは新しいトピックにモーフィングしているので、新しい質問に:[フィットネスはBegin in Fixtureを見つけることができません](http://stackoverflow.com/questions/36755719/fitnesse-cant-find-type-begin-in-fixture) – BWhite

0

作業中の用語はwikiの単語です。 "Word Count"はWordCountFixtureを検出しますが、 "Diagnostic"はDiagnosticFixtureを検出しません。 を[診断]というwikiの単語にすると、修正されたようです。

Micheal、et al。まだ間違った解決策のように思える。しかし、それは私のために働く。私はwiki単語を使って前進したり、Fixtureを明示的に指定することができます。

関連する問題