功能
自动
使用TypeScript或Javascript为您的智能合约编写自动化测试。使用Hydra引导您的智能合约测试用例定义。
简约的测试执行
无需为您的智能合约测试管理本地/开发区块链。我们在后端运行修改后的EOSIO虚拟机,该虚拟机是专门为测试而设计的。
轻松设置合约表
通过从JSON文件加载初始合约表数据,轻松配置您的智能合约在其中运行的测试环境。
多操作系统
随时随地都可以使用;在MacOS、Linux上都可以,与EOSIO不同的是,我们还支持Windows。
大量的测试
想要运行10或100多种测试输入变量?没问题,我们可以帮您做到。我们负责运行基础设施,因此您不需要启动多个nodeos会话。
调试部署的智能合约
Hydra接受EOSIO快照,这意味着您可以快速重新创建导致公共部署的智能合约上出现错误的条件。
如何做呢?
安装Hyra客户端
npm i -g @klevoya/hydra
登入您的账户
hydra login
引导您的测试用例定义
hydra init
编写您的测试用例
使用JavaScript/TypeScript和您选择的测试库。
(我们支持Jest开箱即用。)
常见问题
Hydra和运行nodeos有什么不同?
nodeos是Block One开发的成熟的EOSIO节点。
为什么我要使用它而不是构建我自己的测试环境呢?
在我们看来,最大的便利功能是根本不必设置和配置本地区块链,这将需要大量的基础设施来重新创建。
我们已把时间花在工装上,所以您就不必花费额外的精力和时间。
如果您还想查看Hydra中当前缺少的功能,请与我们联系。
这与其他一些测试工具(如Lamington)有什么不同?EOS Factory?
一些测试框架试图通过将EOSIO作为其工具集的一部分包含在Docker容器中来掩盖这一事实,但是您仍然受限于运行本地区块链的所有限制和缺点:
- 需要在您的系统上安装EOSIO和/或Docker,因此无法在CI管道等低资源系统上运行。
- 运行本地区块链需要大量的CPU和存储资源,从而降低系统其余部分的速度。
- 无法并行运行测试,因为所有测试都在同一本地区块链节点上运行。
- 即使您的交易可能在微秒内运行,但您还是被限制在500ms的区块生成时间内。
我们对Hydra采取的方法有着本质的不同:虽然我们有与现有测试工具类似的API,但我们通过在后端运行专门为测试而设计的经过改进的EOSIO节点,提供了额外的便利功能,并消除了运行本地区块链的所有缺点:我们不关心单个账户的CPU/NET/RAM资源限制,也不关心生成区块。相反,我们使用后端通过EOSVM运行交易,同时准确地模拟EOSIO软件的其余部分。
你们支持哪个版本的nodeos?
你们使用的是精简的WASM VM。你们如何准确模拟EOSIO主网的行为?
Hydra支持哪些功能?
- 区块生成:区块时间和区块编号始终为0,但可以使用我们的测试框架模拟。
- 根据每个账户使用限制对RAM/CPU和NET详细建模。我们支持包括交易执行时间在内的交易跟踪。
- 运行延迟的交易:延迟交易在指定的延迟之后不会自动执行。您可以获得所有计划交易的列表,然后可以自行决定在测试用例中手动运行它们。请注意,延迟交易已弃用,即使在正常情况下也不能保证其运行。
我怎么能确定Hydra会很稳定呢?
如果您对我们的基础设施、结构稳定性有更深层次的疑问或倾向于自定义SLA,请随时与我们联系。