Dear BR dudzikp,
You can place your actual test your assertion in a second function with the %unit:after annotation. Another solution is to perform your update in a %unit:before function and test the result in the main function. See [1] for an example.
Cheers, CG
[1] https://docs.basex.org/wiki/Unit_Module#unit:before
On Tue, Nov 17, 2020 at 1:20 PM dudzikp@yahoo.com dudzikp@yahoo.com wrote:
Dear all,
I have not found a way to make basex unit module to test updating functions. I have a function site:add-movies which results in several db:add instructions. I try to achieve something like:
declare %unit:test %updating function test-site:download-movies() { let $result := site:add-movies( $test-site:site-db, test-site:fake-fetch-file#1, 7 )
return unit:assert-equals(1, 1) (: here I am going to check if db contains expected elements :) };
But let command is not valid for updating expression. Basex docs mention something about update:output and update:cache which may be of some use here but no exhaustive example is given for.
Anyone had similar problem?
BR