【问题标题】:In FitNesse is it possible to share variables or data between Java and FitSharp test pages?在 FitNesse 中,是否可以在 Java 和 FitSharp 测试页面之间共享变量或数据?
【发布时间】:2016-12-18 01:09:54
【问题描述】:

我有一个我认为是相当常见的场景:我想通过 FitNesse 测试一个 Web 服务,同时还能够从 Web 服务后面的数据库中注入和读取数据。例如,我想做以下事情:

1) 将记录直接保存到数据库中;那么

2) 使用网络服务更新已创建的记录;那么

3) 检查数据库记录是否已正确更新。

美中不足的是,数据库是 SQL Server,我正在本地计算机上针对我的 (localdb) SQL Server 实例进行开发。所以我需要 FitNesse 能够连接到 (localdb)。

据我所知,RestFixture 用于测试 Web 服务,仅在 FitNesse 的 Java 版本中运行。但是,Java 版本的 DbFit 连接数据库只能使用微软的 JDBC 驱动连接 SQL Server。根据this Stackoverflow question,MS JDBC 驱动程序不支持命名管道,因此无法连接到 (localdb)。因此,我将不得不使用 DbFit 的 FitSharp (.NET) 版本,它可以与 (localdb) 一起正常工作。

现在的问题是将 Java RestFixture 与 FitSharp DbFit 结合起来。例如,如果我通过 DbFit 在数据库中创建一条新记录,我想读回我刚刚创建的记录的标识值,并使用该值来标识要通过 Web 服务更新的记录。所以我需要将变量或一些信息从 FitSharp DbFit 测试页面传递到 Java RestFixture 测试页面。这可能吗?

【问题讨论】:

  • 我看到(stackoverflow.com/questions/11345746/…)jTDS 确实支持 JDBC 连接到 localdb。这是你的选择吗?
  • @FriedHoeben:很遗憾没有。 Java 版本的 DbFit 仅支持 SQL Server 的 Microsoft JDBC 驱动程序。

标签: fitnesse fitsharp


【解决方案1】:

据我所知并非如此。 REST API 不支持创建和读取?这将允许通过 REST 进行整个测试(无需直接访问数据库,也无需在与数据库相同的服务器上运行)。

【讨论】:

  • 不幸的是,Web API 不支持创建和读取数据库中的所有表,只支持过去几个月开发的新表。如果无法将测试所需的订单和预订直接注入数据库,则必须通过桌面应用程序创建订单和预订。可以通过桌面应用程序通过 Auto-It 之类的工具自动化创建订单的过程,但与直接将数据注入数据库相比,这似乎非常复杂。
猜你喜欢
  • 2011-06-25
  • 1970-01-01
  • 2018-08-28
  • 2015-01-30
  • 2019-12-24
  • 1970-01-01
  • 2014-08-29
  • 2018-02-13
  • 1970-01-01
相关资源
最近更新 更多