首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pact中是否有执行成员测试的方法?(对pact表执行成员资格测试)

在pact中是否有执行成员测试的方法?(对pact表执行成员资格测试)
EN

Stack Overflow用户
提问于 2022-02-08 21:21:27
回答 1查看 31关注 0票数 2

你好,kadena pact开发人员社区

我看了一些基本的代码示例,当我想利用这些功能来更好地掌握它的时候,我对以下几点很好奇:

我们看到了一些功能,如代码测试中定义的,用于测试表中一行中的值。有没有一种方法可以简单地测试一个键,如果该键不存在于表中,就会使谓词失败?

谢谢你的洞察力。

EN

回答 1

Stack Overflow用户

发布于 2022-02-08 23:43:13

虽然这可能不是最有效的方法,但我已经找到了解决这个问题的办法。

用于测试成员资格的pact语法使用函数调用“contains”。

现在我们想知道我们的表中是否存在一个键。为了做到这一点,我们可以使用内置函数“键”。

这将返回字符串列表(即我们的键),并允许我们通过使用“contains”来查询所讨论的键是否作为键存在于我们的表中,还是:X是我们表中的成员。

因为这需要我们获得一个完整的键列表,以查看特定的键是否在我们的表中,这就是我对性能的关注所在。不管怎么说,我都想和每个人分享这一点,但在某些情况下,最好让事务失败,而不是像这样显式地强制成员资格。

编辑:我以前使用了一些代码来演示如何实现这一点,但这是错误的代码。如果需要成员资格测试,则可以在If语句的上下文中进行测试,但不需要使用( within ),因为within只允许“纯”表达式(即可以当场计算且不涉及‘键’函数之类的数据库查找的表达式)。

强制执行需要数据库事务的测试结果将返回如下所示的错误

错误来自(api.testnet.chainweb.com)::Failure:数据库异常::Failure:非法数据库访问尝试(键)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71041051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档