开发手册 欢迎您!
软件开发者资料库

Concordion - 返回地图

Concordion返回地图 - 从概述,环境设置,第一个应用程序,set命令,assertEquals命令,assertTrue命令,assertFalse命令,执行命令,返回Object,返回Map,返回MultiValueResult,在表上执行,从简单而简单的步骤学习Concordion Library执行list,verifyRows命令,运行命令。

Concordion execute命令可用于以Map的形式获取行为的结果,使用该命令可以获得行为的多个输出.例如,考虑以下要求 :

The full name Robert De is to be broken into its first name Robert and last name De.

这里我们需要一个spilled函数接受一个用户名并返回一个Map对象,该对象具有firstName和lastName作为其具有相应值的键,以便我们可以使用它们.

如果我们想为这样一个接受用户名并输出结果对象的拆分函数编写规范,那么以下将是规范 :

The full name Robert    De is to be broken into first name Robert and last name De.

当Concordion解析文档时,它会将特殊变量#TEXT的值设置为当前元素的值为"Robert De"并传递它分裂功能.然后它将使用execute命令执行带有#TEXT参数的split()方法,并将结果设置为#result变量并使用结果映射,将firstName和lastName值作为输出打印.

示例

让我们有一个可用的Eclipse IDE,并按照下面给出的步骤创建一个Concordion应用程序 :

Step描述
1创建一个名为 concordion 的项目并创建一个包 com.it1352在创建项目的 src 文件夹下.
2使用添加外部JAR 选项添加所需的Concordion库,如 Concordion  -  First Application 章节中所述.
3下创建Java类系统 com.it1352包.
4 specs.it1352下创建Fixture类 SystemFixture package.
5创建规范html System.html specs.it1352包下.
6最后一步是创建所有Java文件和规范文件的内容并运行应用程序,如下所述.

这是System.java文件的内容 :

package com.it1352;import java.util.HashMap;import java.util.Map;public class System {   public Map split(String userName){      Map result = new HashMap();      String[] words = userName.split(" ");      result.put("firstName", words[0]);      result.put("lastName", words[1]);      return result;   }}

以下是SystemFixture.java文件的内容 :

package specs.it1352;import java.util.Map;import com.it1352.Result;import com.it1352.System;import org.concordion.integration.junit4.ConcordionRunner;import org.junit.runner.RunWith;@RunWith(ConcordionRunner.class)public class SystemFixture {   System system = new System();   public Map split(String userName){      return system.split(userName);   }  }

以下是System.html文件的内容 :

                     

System Specifications

      

We are building specifications for our online order tracking application.

      

Following is the requirement to split full name of a logged in user to its          constituents by splitting name by whitespace:

                     

Example

         

The full name Robert             De is to be broken into first name Robert and last name             De.

      
   

完成创建源文件和规范文件之后,让我们以JUnit Test的身份运行应用程序.如果您的应用程序一切正常,那么它将产生以下结果 :

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\it1352\System.htmlSuccesses: 1, Failures: 0

System.html是Concordion测试运行的输出.

concordion返回地图输出