2011-05-23 67 views
1

我们必须测试使用fitnesse测试需要测试的远程机器上的几个API。通过Fitnesse测试第三方API

我们有一些预置条件。

  1. 我们需要使用webservices来测试这些API。 API的jar(比如xyz.jar)位于服务器端。 web服务在哪里部署。
  2. 输入必须使用fitnesse。并且xyz.jar在fitnesse方面不可用。因为客户端fitnesse需要独立于xyz.jar中的更改,因此它对于所有将来的版本都是通用的。
  3. 用户将给出什么样的方法来测试什么样的类以及wiki页面中的输入数据。

这里的一个假设是使用wiki页面上给出的输入值和API名称:通过反思API将从web服务调用。

样本数据流

|健身| -----> |业务层| - > | Webservice Proxy | -------> | Webservice | -------> | xyz.jar |

我们正面临一些类似的问题。

  1. 某些API是像DoSomething的(的自订someId,DBLoaderType型,DBFilter过滤器,布尔排除)返回的java.util.List但这些的自订,DBLoaderType,DBFilter,SomeNavigationSystem不能序列化对象。

  2. 某些API返回的类型可以是Java基本类型,包装或自定义对象或收集自定义对象的值。 (boolean,Boolean,List Map,Map> 如何验证返回类型?

  3. 我们面临的一个问题是:如何将输入数据从fitnesse输入到java层(它将调用webservice测试API)如果API的类型为registerUsersForMessage(int messageId,List users,boolean forceRegister,int maxBatch,Map)如何将这些数据从fitnesse wiki页传递到java层?有什么办法可以将输入数据推到某处使测试人员的wiki页面会干净吗?

这是值得欢迎的任何帮助。或者,这可能会导致头脑风暴敬畏欢迎过任何问题。 感谢advanc即

回答

1

我不知道你在这里测试的是什么样的应用程序,但我强烈建议你只保留业务细节和逻辑的FitNesse的测试页面,并把所有的东西有关API和其他技术细节进入夹具代码。它使灯具更加复杂,但它们处于一个拥有全套强大工具来管理复杂性的环境中。

如果您在考虑从API函数验证返回类型的级别,那听起来像是一种完全不同的测试。

,有参与,使您的应用程序的工作应该是透明的FitNesse的测试,除非你正在测试的Web服务本身就是一个web服务的事实。

+0

是的Randy我们打算只在fitnesse页面中调用灯具,但API所需的数据很高,这是灯具所需的高数据,因此考虑如何将数据输入到灯具。 – 2011-05-24 02:06:35

+0

如果数据中的细节对于理解测试的业务逻辑很重要,那么这些数据必须在测试中。如果没有,您可以将其隐藏在夹具代码中。我没有在需要大量数据的地方进行测试,所以我不确定我会如何解决这个问题。 – 2011-05-24 19:18:59