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 参数进行结果检查。

FitNesse 的变化:

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

我做了什么:

  1. 重要提示:在 FitNesse 文本的顶部添加适合模式:!define TEST_SYSTEM {fit}
  2. 第一行是函数的名称。它应该是粗体(文本前后三个')。粗体文本是元数据(函数名称、参数名称等)。非粗体文本与变量有关。
  3. 第二行 - 参数名称列表(或属性名称,请参见此处相同的示例)。NetRunner 将找到具有相同参数列表的函数。
  4. 下一行:输入和输出值。我使用字符串类型作为最简单的方法,但是您可以使用任何输入/输出类型
于 2015-02-28T14:51:46.893 回答
0

您正在使用 Fit 测试系统中的夹具ColumnFixture,以及 Slim 测试系统:!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 回答