基于打字稿类型定义的契约匹配器

问题描述 投票:0回答:1

Pact Matcher api 有一个基于类型的匹配器“like” enter image description here

这个匹配器和 typescript 类型有关系吗? 例如,如果有类型

type TestType = {
  field1: string | number;
  field2: TestType2
}

type TestType2 = "option1" | 'option2'

并从中生成一个匹配器。 Pact(合约)会基于打字稿类型“TestType”创建吗?或者 Pact 会根据值猜测类型? (本例中field1、field2为字符串)

const testData:TestType = {
  field1: 'stringValue',
  field2 'option1'
}
const matcher = MatcherV3.like(testData)

我原以为 field2 应该只接受文字值“option1”和“option2”以进行提供程序验证,但似乎也接受使用任意字符串值,这给我的印象是 Pact 'like' 匹配器只是猜测类型基于示例值,但与打字稿没有任何关系。

pact
1个回答
0
投票

这给我的印象是 Pact 'like' 匹配器只是根据示例值猜测类型,但与打字稿没有任何关系。

这是正确的,

like
匹配器使用数据类型,而不是 TypeScript 类型。

© www.soinside.com 2019 - 2024. All rights reserved.