3

使用する場合DoFixture、ドメイン オブジェクトをSystem Under Testとして設定できます。これにより、フィクスチャ自体ではなく、そのオブジェクトのメソッドを呼び出すことができます。

残念ながら、そのようなメソッドが複数のパラメーターを必要とする場合、それらのパラメーターを空のセルで区切る必要があります。それ以外の場合、fitnesse/fitSharp は奇数/偶数セルを使用してメソッド名を作成します。これにより、テストが平易な英語に似たものになることはわかりますが、テスト フレームワークの要件を満たすためだけにドメイン オブジェクト メソッドの名前を変更することは現実的ではありません。

たとえば、 method を呼び出しEntry AddEntry(string name, string description)て結果を symbol として保存したいとしますe1。次の表を試してみると:

|name|e1|add entry|sample name|sample description|

という名前のメソッドを見つけAddEntrySampleDescriptionて、単一のパラメーターを渡そうとします"sample name"

できます

|name|e1|add|sample name|entry|sample description|

しかし、それは正しく見えません。

だから、私がやったことは(パラメータ間の余分な空のセルに注意してください)

|name|e1|add entry|sample name||sample description|

これは私が望むことを行い、オプション#2ほど醜くはありませんが、それでもハックのようです. 私は何かを見逃していますか、それとも実際ドメイン オブジェクトのメソッドを呼び出す方法ですか?

4

1 に答える 1

3

パラメータ間に空のセルを追加できます。これは広く使用されている手法です。または、SequenceFixture を使用できます。

http://fitnesse.org/FitNesse.UserGuide.FixtureGallery.FitLibraryFixtures.SequenceFixture

SequenceFixture は DoFixture と非常に似ており、ほぼ同じ機能を備えています。実際、この 2 つの違いはメソッドの命名規則だけです。奇数セルを使用してメソッド名を作成する代わりに、SequenceFixture は各行の最初のセルをメソッド名として受け取り、他のすべてのセルを引数として受け取ります。

于 2015-09-12T18:52:48.300 に答える