【问题标题】:Cascading method calls in FitNess?FitNess中的级联方法调用?
【发布时间】:2015-05-11 10:14:31
【问题描述】:

我是 FIT 和 FitNess 的新手,我想知道是否可以在不定义特殊装置的情况下级联方法调用。

背景:我们正在使用 Selenium WebDriver 测试我们基于 Web 的 GUI。我创建了一个基于 PageObject 模式的框架,以将 HTML 与页面逻辑分离。这个框架用于我们的 JUnit 测试。该框架以 Fluent API 风格和语法实现。

类似这样的:

boolean connectionTest = 
connectionPage
.databaseHost( "localhost" )
.databaseName( "SOME-NAME" )
.instanceNameConnection()
.instanceName("SOME-INSTANCE-NAME")
.windowsAuthentication()
.apply()
.testConnection();

有些测试人员想要创建验收测试但不是开发人员。所以看看FIT。是否可以在不开发特殊装置的情况下将我的框架与 FIT 一起使用?

【问题讨论】:

    标签: java fitnesse method-call


    【解决方案1】:

    我不相信您可以将现有代码与“plain-vanilla” Fit 一起使用,它至少需要定义一个特殊的夹具类。也许'SystemUnderTest'可以帮忙?

    否则Slim's version 可能会让它为您工作。

    附带说明:我已在 GitHub 上添加了 FitNesse baseline installation including features to do website testing with (almost) no Java code。根据我的经验,it's BrowserTest 将允许非开发人员轻松创建/修改/维护测试,并将这些测试与您的持续集成过程集成(如果您有的话)。我建议你(或你的测试人员)也看看那个。

    【讨论】:

    • 感谢您对“SystemUnderTest”的建议。我看过它,它可能不适合,因为对于某些链式方法调用,它会导致不同类型的对象(不同的页面对象)。正如我所提到的,我想避免编写固定装置,因为我们已经不得不花时间来维护我们的框架
    • 我明白了。使用我的灯具的意义在于,您无需编写和维护自己的灯具即可使用它们...
    【解决方案2】:

    我知道你问过关于 Java 的问题,但如果任何 .NET 开发人员看到这一点,可以使用 .NET 实现,fitSharp

    |with|new|connection page|
    |with|database host|localhost|
    |with|database name|some-name|
    

    等等

    http://fitsharp.github.io/Fit/WithKeyword.html

    【讨论】:

      【解决方案3】:

      我已经通过编写一个通用夹具解决了我的问题,该夹具从适应度表接收目标方法及其参数,并使用 Java 反射来调用适当的框架方法。

      所以我有一个从框架返回的所有不同页面对象的固定装置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-03
        • 2015-07-28
        • 1970-01-01
        • 2013-03-09
        相关资源
        最近更新 更多