首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要FitNesse SetUpFixture在.NET下的简单示例

需要FitNesse SetUpFixture在.NET下的简单示例
EN

Stack Overflow用户
提问于 2012-08-01 16:48:14
回答 2查看 2K关注 0票数 1

我一直试图为我们的FitNesse应用程序实现C#测试。我正在使用最新的FitNesse jar和fitSharp .NET 2.24.0库。

我已经成功地使用了Slim的场景。然而,为了让非技术用户更容易阅读的测试,我对实现DoFixtures感兴趣,我推测我需要SetUpFixtures来为测试创建通用的数据条件。

不过,我似乎无法将设置到DoFixture实例中的数据获取。我看过几个资源(高子的书是其中之一),但似乎没有人孤立地谈论这个概念。将Visual作为调试器附加到测试运行中并没有产生任何洞察力。我真的可以用一个简单的例子来分析和构建。

是否有人愿意分享一个例子,其中包括:

  • 设置一些数据的SetUpFixture
  • 一个DoFixture类,它使用来自SetUpFixture的数据
  • 调用它们的Wiki语法?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-01 22:04:03

看来SetUp没有被调用。使用Debugger.Launch()进行调试

更新:

代码语言:javascript
运行
复制
!|BirdCall|
|birdName|noise|
|duck|quack|

public class SkylarkBunting : fitlibrary.DoFixture
{
    public BirdCall BirdCall;

    public SkylarkBunting(BirdCall birdCall)
    {
        BirdCall = birdCall;
    }

    public string GetCall()
    {
        return BirdCall.Noise;
    }

    public string GetName()
    {
        return BirdCall.BirdName;
    }
}
票数 1
EN

Stack Overflow用户

发布于 2012-08-01 21:56:39

我得到了部分答案。

使用这些类:

代码语言:javascript
运行
复制
public class BirdCall : fitlibrary.SetUpFixture
{
    public void BirdNameNoise(string birdName, string noise)
    {
        BirdName = birdName;
        Noise = noise;
    }

    public string BirdName; 
    public string Noise;

    public override string ToString()
    {
        return string.Format("BirdCall: {0}, {1}", BirdName, Noise);
    }
}

public class SkylarkBunting : fitlibrary.DoFixture
{
    public BirdCall BirdCall;
    public string Call;

    public Fixture CryOut()
    {
        BirdCall = new BirdCall();
        Call = BirdCall.Noise;
        return BirdCall;
    }

    public string GetCall()
    {
        return BirdCall.Noise;
    }

    public string GetName()
    {
        return BirdCall.BirdName;
    }
}

这个Wiki标记是:

代码语言:javascript
运行
复制
!define TEST_RUNNER {C:\temp\fitsharp\Runner.exe}
!define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer,c:\temp\fitsharp\fit.dll %p}
!path C:\temp\FitNesseIntegration\bin\Debug\FitnesseIntegration.dll

!|import|
|FitnesseIntegration|

!|FitNesseIntegration.Skylark.SkylarkBunting|

!3 Testing getting data from a setup fixture into a do fixture

!|cry out|
|bird name|noise|
|Tweetie|Caw!|

|check|call||
|check|get call||
|check|get name||
|check|bird call||

我得到:

代码语言:javascript
运行
复制
|check|call|null|
|check|get call|Caw!|
|check|get name|Tweetie|
|check|bird call|BirdCall: Tweetie, Caw!|

这很好,我在DoFixture中有变量,这些变量是通过通过页面执行由FitNesse注入的值来填充的。

不过,我仍然想知道为什么Call返回null

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11763899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档