LiquidDataMapTestExecutor 类

命名空间:Microsoft.Azure。工作流程。单元测试

LiquidDataMapTestExecutor 类课程提供了在单元测试期间执行液态数据映射转换的能力。 实例通过名称在逻辑应用项目目录 Artifacts/Maps 中定位一个 Liquid 映射文件,并根据提供的输入内容执行转换,输出可选择模式验证。

用法

var executor = new LiquidDataMapTestExecutor(appDirectoryPath: @"C:\MyLogicApp");

JToken result = await executor.RunLiquidMapAsync(
    mapName: "TransformOrder",
    transformKind: TestLiquidTransformKind.JsonToJson,
    inputContent: JToken.Parse("{\"orderId\": 123}"));

Constructors

LiquidDataMapTestExecutor(string appDirectoryPath)

初始化一个新的类实例 LiquidDataMapTestExecutor ,使用指定的逻辑应用项目根路径。

public LiquidDataMapTestExecutor(string appDirectoryPath)
名称 说明 类型 必需
app目录路径 Logic 应用项目根路径,位于 Artifacts/Maps 目录的位置。 string 是的
var executor = new LiquidDataMapTestExecutor(appDirectoryPath: @"C:\MyLogicApp");

Methods

运行液体地图同步

使用指定的映射名称、转换类型和输入内容执行液体映射转换。 可选地对转换后的内容进行 JSON 模式验证。 如果地图文件不存在,则会抛 ArgumentException 出。

public async Task<JToken> RunLiquidMapAsync(string mapName, TestLiquidTransformKind transformKind, JToken inputContent, JSchema transformedContentSchema = null)
名称 说明 类型 必需
地图名称 Liquid 数据映射文件的名称(无 .liquid 扩展名)。 string 是的
变形种类 该进行的液体转化类型。 测试液体变形类型 是的
inputContent 输入内容需要转换。 JToken 是的
transformedContentSchema 一个可选的 JSON 模式用于验证转换后的内容。 JSchema
var executor = new LiquidDataMapTestExecutor(appDirectoryPath: @"C:\MyLogicApp");

// Execute a JSON-to-JSON Liquid transformation with schema validation
var schema = JSchema.Parse("{\"type\": \"object\", \"properties\": {\"total\": {\"type\": \"number\"}}}");
JToken result = await executor.RunLiquidMapAsync(
    mapName: "CalculateTotal",
    transformKind: TestLiquidTransformKind.JsonToJson,
    inputContent: JToken.Parse("{\"items\": [{\"price\": 10}, {\"price\": 20}]}"),
    transformedContentSchema: schema);