2

.NET を使用してシンプルでスリムなフィットネス環境をセットアップするために、いくつかの異なるチュートリアルに従いました。私は fitsharp と netrunner の両方でこれを試みましたが、どちらも私のテスト ページで無視されてしまいます。すべて正常にインポートされ、RunnerW.exe を実行しても何も提供されません。何度もチェックしましたが、パスはすべて正しいです。最後に、テストを実行すると、以下のスクリーンショットに表示されているものだけが得られます。私はこれに数時間苦労しているので、どんな助けも大歓迎です。

NetRunner:
結果: http://screencast.com/t/mBdkCyGow

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NetRunner;
using NetRunner.ExternalLibrary;

class Employee : BaseTestContainer
{
    private string firstName;
    private string lastName;
    private string number;

    public Employee() { }

    public Employee(string firstName, string lastName, string number)
    {
        this.firstName = firstName;
        this.lastName = lastName;
        this.number = number;
    }

    public string FirstName
    {
        get { return firstName; }
        set { firstName = value; }
    }

    public string LastName
    {
        get { return lastName; }
        set { lastName = value; }
    }

    public string Name
    {
        get { return firstName + " " + lastName; }
    }

    public string Number
    {
        get { return number; }
        set { number = value; }
    }
}

Fitsharp:
結果: http://screencast.com/t/GMqdgwxA6

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using fit;

class Employee : ColumnFixture
{
    private string firstName;
    private string lastName;
    private string number;

    public Employee() { }

    public Employee(string firstName, string lastName, string number)
    {
        this.firstName = firstName;
        this.lastName = lastName;
        this.number = number;
    }

    public string FirstName
    {
        get { return firstName; }
        set { firstName = value; }
    }

    public string LastName
    {
        get { return lastName; }
        set { lastName = value; }
    }

    public string Name
    {
        get { return firstName + " " + lastName; }
    }

    public string Number
    {
        get { return number; }
        set { number = value; }
    }
}
4

2 に答える 2

0

C# コードと FitNesse を少し変更してください。

C#:

internal sealed class MyTestContainer : BaseTestContainer
{
   public EmployeeArgument Employee()
   {
       return new EmployeeArgument();
   }
}

internal sealed EmployeeArgument : BaseTableArgument
{
    public void CheckName(string firstName, string lastName, out string name)
    {
        name = firstName + " " + lastName;
    }
}

私がしたこと:

  1. テスト コンテナ - NetRunner から見える関数のリストを持つクラス。これらの関数のみがテストに使用されます。そのようなクラスはいくつでも作成できます。すべての関数リストは結合されます
  2. 関数 Employee を作成しました (FitNesse テーブルの最初の行)。この名前は、テーブルの最初の行と同じです。属性を使用して、コードと FitNesse で異なる関数名を持つこともできます。
  3. 各テーブル行で同じ関数を実行する BaseTableArgument 固有の型
  4. 関数 CheckName は、結果のチェックにout パラメータを使用します。

フィットネスの変更:

| '''employee''' |
| '''First Name''' | '''Last Name''' | '''Name''' |
| Ryan | Cheek | Ryan Cheek |
| Ryan | Cheek | abc |

私がしたこと:

  1. 重要: FitNesse テキストの先頭にフィット モードを追加します: !define TEST_SYSTEM {fit}
  2. 最初の行は関数の名前です。太字にする必要があります (テキストの前後に 3 つの ')。太字はメタデータ (関数名、パラメーター名など) です。太字でないテキストは変数に関連しています。
  3. 2 行目 - パラメータ名 (またはプロパティ名、同じ例を参照)のリスト。NetRunner は、同じパラメーター リストを持つ関数を検索します。
  4. 次の行: 入力値と出力値。最も簡単な方法として文字列型を使用しましたが、任意の入力/出力型を使用できます。
于 2015-02-28T14:51:46.893 に答える
0

Fit テスト システム のフィクスチャをColumnFixtureSlim テスト システムで使用しています。!define TEST_SYSTEM {slim}

を使用する場合ColumnFixtureは、!define TEST_SYSTEM {fit}

Slim を使用する場合は、デシジョン テーブルを使用します: http://www.fitnesse.org/FitNesse.UserGuide.WritingAcceptanceTests.SliM.DecisionTable

于 2015-03-04T03:51:31.180 に答える