测试器
对功能评估一个或多个测试,并根据测试结果路由特征。测试可以由任何允许的FME操作数组成。
输入端口
此转换器接受任何功能。
输出端口
如果测试通过,该功能通过通过端口。
如果测试失败,该功能通过失败端口。
请注意,您可以将多个测试组合成一个测试变压器,功能可以路由到通过取决于合格标准下面。
参数
这个合格标准定义如何在传入功能的最终分类中解释多个子句。可能的选择是:所有测试(和),一次试验(或),和复合试验.
下面是三种选择的描述,以及相关场景。
脚本 | 合格标准 | 说明 |
---|---|---|
要将输入功能分类为通过,需要进行一次测试。 | 一次试验(或) | 在这种情况下,只要其中一个测试条款是正确的,然后该特性被传递。这是一个或测试(test1、test2或test3)。如果有人是真的,结果是真的。 |
输入功能被分类为通过的所有测试都是必需的。 | 所有测试(和) | 这比一个测试(或)更严格,因为所有测试都必须通过才能使结果为真(测试1、测试2和测试3)。 |
创建自己的测试表达式。 当您需要对测试人员要评估的内容进行细粒度控制时,这很有用。如果选择此模式,出现复合表达式字段。 |
复合试验 | 如果,例如,要检查属性值是否在5到10之间,或等于99,您可以设置三个测试子句: 第1条:x>5 第2条:x<10 第3条:x=99 (其中x是左值字段中的选定属性):
要正确获得所需的结果,您要求第1条和第2条为真(介于5和10之间),或第3条为真(等于99)。 在这种情况下,选择一个测试或所有测试模式将不满足测试要求。你可以,然而,选择复合测试并在复合表达式字段中输入以下表达式: (1和2)或3) 上述数字对应于“测试条款”表中定义的测试条款。阅读时,上面的复合表达式说明“必须满足第1条和第2条,或必须满足第3条。 |
当合格标准参数为复合试验.表达式可以引用测试条款使用该子句的行号的表。
价值观
这个价值列(操作数)可以是文字常量,属性的值,上述参数或计算值的组合。如果是一个计算函数,功能将在当前功能上执行,结果将用于测试。
操作员
这个操作员列是以下列之一:=,!=<><=>在,在范围内,喜欢,匹配regex,包含,开始于,以结尾,类型为,和令人鼓舞的。
一些运营商,例如=和!=有常规行为,除了这里记录的。当比较运算符=,!=<><=>=应用于空,失踪,和空字符串值,三人组的结果都是空字符串。因此,在这些比较运算符的上下文中,它们是成对相等的。此外,遵循以下比较顺序:
无效的,失踪,空字符串<数字<其他值
其他这里更详细地描述了不太传统的操作员:
操作员 |
说明 |
例子 |
---|---|---|
在 | 在其中测试特定值的值列表。右值是以逗号分隔的值列表,或者范围。 | x=5,如果x在1,2,3中(否=失败) x=5,如果3-7中的x(是=通过) |
在范围内 | 该值是否在用设置符号指定的数值范围内? 在这个符号中,[]s表示包含范围,即[0,8]对应于0<=x<=8。而()s表示独占边界,即(0,8)对应于0
|
x=3,如果x在范围[3,8]内(是=通过) x=3,如果x在范围内(3,8)(否=失败) |
喜欢 | 允许您使用通配符查询。注意,通配符查询使用百分比符号(%),不是星号(*)。 此运算符在数字模式下不可用。 |
x=abcd,如果x类似于%bc%(是=通过) |
包含regex |
值是否包含正则表达式? 此运算符在数字模式下不可用。 |
x=abcd,如果x包含regex.*bc.* |
包含 | 右值是否出现在左值中? 此运算符在数字模式下不可用。 |
x=abcd,如果X包含BC(是=通过) |
开始于 | 字符串是否以这个…开头? 此运算符在数字模式下不可用。 |
x=abcd,如果x以a开头(是=通过) x=abcd,如果x以b开头(否=失败) |
以结尾 | 字符串是否以该..结尾? 此运算符在数字模式下不可用。 |
x=abcd,如果x以d结尾(是=通过) x=abcd,如果x以b结尾(否=失败) |
类型为 | 属性的值是否可转换为所列类型之一? 包括的类型是整数,双倍,数字和布尔值。您可以选择多种类型,当选择多个类型时,如果某个功能可转换为一个或多个列出的类型,它将快速。integer和double类型测试属性的内容是否可以分别表示为整数或浮点数。数值测试值是否可转换为数字(行为与double相同)。布尔测试字符串是否与布尔表示形式之一匹配(真、真、真、1、假、假、假、假、0) |
x=7,如果x是数字(是=通过) X=真,如果x是booelan(是=通过) |
可编码的 | 指定属性的值是否可以在指定的编码中编码而不丢失数据? | 如果x=本,如果x编码cp392通过日语窗口 如果编码DOS冰岛语失败 |
属性具有值 | 属性是否有值? | 如果“左值”中指定的属性匹配(是=通过) |
属性为空 | 指定的属性是否具有空值? 此运算符在数字模式下不可用。 |
如果“left value”中指定的属性具有空值(yes=passed) “left value”中指定的if属性没有空值(no=失败) |
属性为空字符串 | 指定的属性是否具有空字符串值? 此运算符在数字模式下不可用。 |
如果“left value”中指定的属性是空字符串(yes=passed) “left value”中指定的if属性不是空字符串(no=失败) |
缺少属性 | 功能上是否缺少指定的属性? 此运算符在数字模式下不可用。 |
如果在“左值”中指定的属性在功能上不存在(是=通过) 如果在“左值”中指定的属性在功能上存在(否=失败) |
如果选择其中一个运算符:属性为空字符串,属性为空,或缺少属性,这个左值将被视为属性名,而不考虑显示的图标。要强制测试人员使用属性值,收件人姓名,作为属性名,必须显式键入@值(attrname)进入左值字段。
字符串范围(即A—D)也可以指定。如果要测试包含连字符的值,这些值应该用引号括起来。例如,如果X=ll-27,然后“ll-27”、“ll-83”中的X会是真的。另一方面,LL-27、LL-83中的X会是假的。这是因为LL—27和LL-863被视为两个空字符串范围,因为作为字符串时,数字的顺序早于字母。
否定
一个复选框,指示如果
例如,
x=abcd,如果否定,“abcde”是否包含x(回答否)=失败)
x=5,如果否定,y=1,2,3,4是x in y(回答是=通过)
模式
什么时候?模式设置为自动或数字,如果可能,测试人员会将操作数作为数字进行比较,以及其他字符串。
什么时候?模式设置为弦,测试人员将操作数作为字符串进行比较,不会尝试数值转换。
让我们参考可以解释为数字的字符串,例如“4E5“作为字母数字字符串。对于字母数字字符串,如果你准备好了模式到自动或数字,如果另一个操作数也是字母数字字符串,则将其视为数字,此外,所用的操作员可在数字模式。
例如,如果模式设置为自动或数字,“4e5=40万“将通过测试。如果,另一方面,你想要的”4e5=40万“考试不及格,设置模式到弦.
示例
属性 | 试验条件 | 结果 |
---|---|---|
X=ABCD | X包含ABCD | 通过 |
x=a,Y =大 | Y中的X | 失败 |
x=100 | X<200 | 通过 |
x= 4E5 | X=40万 | 通过,如果模式设置为自动 失败,如果模式设置为字符串 |
示例模式可以设置为自动或数字:
@面积()<100
@值(numlanes)>2
示例Where模式可以设置为弦:
“Joe”=“杰瑞”
编辑变压器参数
使用一组菜单选项,可以通过引用工作区中的其他元素来指定变压器参数。更高级的功能,例如高级编辑器和算术编辑器,在一些变压器中也有。要访问这些选项的菜单,点击在适用参数旁边。更多信息,看见变压器参数菜单选项.
变压器类别
变压器历史
这台变压器取代了属性测试仪和通用测试仪变压器。
搜索FME知识中心
在上搜索有关此变压器的示例和信息FME知识中心.
标签关键词:attributester“比较模式”genericTester“通过标准”test子句