一个独立的测试框架,允许为Microsoft Fabric和Azure Data Factory上的数据工厂管道编写单元测试。
项目描述
数据工厂 - 测试框架:锤子和扳手
一个独立的测试框架,允许在Microsoft Fabric、Azure Data Factory和Azure Synapse Analytics上编写数据工厂管道的单元测试。
该框架目前处于公共预览阶段,并且不被微软官方支持。
特性:火箭
该框架评估管道和活动定义,可以进行断言。它通过提供以下特性来实现:
- 使用框架的内部表达式解析器评估表达式。它支持数据工厂表达式语言中所有可用的函数和参数。
- 测试具有特定状态的活动,并断言评估后的表达式。
- 通过验证活动的执行流程并断言每个活动的评估表达式来测试管道运行。
该框架不支持运行实际的管道。它只能让您测试管道和活动定义。
高级示例:灯泡
给定一个具有以下表达式的WebActivity
@concat(pipeline().globalParameters.BaseUrl, variables('Path'))
一个简单的测试,以验证连接操作是否按预期工作,可能看起来像这样
# Arrange
activity = pipeline.get_activity_by_name("webactivity_name")
state = PipelineRunState(
parameters=[
RunParameter(RunParameterType.Global, "BaseUrl", "https://example.com"),
],
variables=[
PipelineRunVariable("Path", "some-path"),
])
# Act
activity.evaluate(state)
# Assert
assert "https://example.com/some-path" == activity.type_properties["url"].result
为什么:问号
数据工厂不支持单元测试,也不支持本地测试管道。在实际数据工厂实例上运行集成和端到端测试是非常好的,但在这之上进行单元测试提供了额外的快速迭代、验证和回归测试手段。使用数据工厂测试框架进行单元测试有以下好处
- 本地运行并提供即时反馈
- 更容易覆盖大量不同的场景和边缘情况
- 回归测试
概念:书籍
以下页面深入探讨框架的不同主题和概念,以帮助您开始。
基本:种子
如果您不太熟悉Python,可以按照入门指南开始使用框架。
高级:显微镜
示例:备忘录
更多高级示例,展示了框架的功能
织物
Azure Data Factory
Azure Synapse Analytics
贡献:握手
该项目欢迎贡献和建议。大多数贡献需要您同意一份贡献者许可协议(CLA),声明您有权,并且确实授予我们使用您的贡献的权利。有关详细信息,请访问https://cla.opensource.microsoft.com。
当您提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并相应地装饰PR(例如,状态检查,评论)。只需遵循机器人提供的说明即可。您只需在整个使用我们的CLA的仓库中这样做一次。
该项目已采用微软开源行为准则。有关更多信息,请参阅行为准则FAQ或通过opencode@microsoft.com联系以获得任何额外的问题或评论。
商标:tm
本项目可能包含项目、产品或服务的商标或标志。微软商标或标志的授权使用必须遵循并遵循微软的商标与品牌指南。在修改本项目的版本中使用微软的商标或标志不得引起混淆或暗示微软的赞助。任何第三方商标或标志的使用均需遵守第三方政策。
项目详情
data_factory_testing_framework-1.1.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 01aa4ba2c009468cb74080db22b579502ec237f5221809b494e3c3c427714920 |
|
MD5 | b60c29abb1f5edf977223b3b2de48be4 |
|
BLAKE2b-256 | 9b0b0c765e5cfedc99c24c896f41ade854409385ea206445afce5f5c311156ad |
data_factory_testing_framework-1.1.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a2d822dc3f94ecaf12e99732e9a872ee87638a426a507130a4b84668e65f954b |
|
MD5 | b3b78307116874d63329a338a69d2518 |
|
BLAKE2b-256 | b03c9df92699c6a93ee27dc3f4d8f3dbb6638bc7522f5c4512fc0a5691d6e85c |