Ошибка подтверждения в модуле MarkLogi c для функции JavaScript с параметрами - PullRequest
1 голос
/ 07 марта 2020

Функция test:assert-throws-error в MarkLogi c Framework Unit Framework поддерживает анонимный шаблон функции для тестирования функции XQuery с параметрами:

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

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

Но я не уверен, как сделать то же самое для JavaScript функции:

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

приведет к следующей ошибке:

XDMP-AS: (ошибка: XPTY0004) $ function as xdmp: function - Недопустимое приведение: function (), "/test/suites/my/test.sjs" как xdmp: function

Спасибо!

1 Ответ

1 голос
/ 09 марта 2020

Я подозреваю, что это один из тех случаев, когда XQuery и JavaScript не делают меня sh идеально. Библиотека ожидает xdmp:function, но она получает JavaScript функцию. Что-то, чтобы попробовать: поместите вашу функцию в библиотеку, затем используйте xdmp.function, чтобы получить ссылку на функцию JS вместо более прямого пути. (Не идеально, но я думаю, что для того, что вы делаете, потребуется обновление функции фреймворка.)

...