【问题标题】:Assert Throws Error in MarkLogic Unit Test for JavaScript Function with Parameters断言在带有参数的 JavaScript 函数的 MarkLogic 单元测试中引发错误
【发布时间】:2020-03-07 04:01:32
【问题描述】:

MarkLogic 单元测试框架中的test:assert-throws-error 函数支持匿名函数模式来测试带参数的 XQuery 函数:

test:assert-throws-error(function() {fn:concat("this", "that")})

参考:https://github.com/marklogic-community/marklogic-unit-test/issues/111

但我不确定如何对 JavaScript 函数做同样的事情:

assertThrowsError(() => 'this' + 'that')

会导致以下错误:

XDMP-AS: (err:XPTY0004) $function as xdmp:function -- 无效强制:function (), "/test/suites/my/test.sjs" as xdmp:function

谢谢!

【问题讨论】:

    标签: unit-testing marklogic


    【解决方案1】:

    我怀疑这是 XQuery 和 JavaScript 不能完美结合的情况之一。该库需要一个xdmp:function,但它正在获取 JavaScript 函数。尝试一下:将您的函数放入库中,然后使用 xdmp.function 获取对 JS 函数的引用,而不是更直接的方式。 (不理想,但我认为您正在做的事情需要更新框架功能。)

    【讨论】:

    猜你喜欢
    • 2018-04-19
    • 1970-01-01
    • 2019-02-04
    • 2010-12-30
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 2021-04-14
    • 2018-11-21
    相关资源
    最近更新 更多