我应该测试两个通用属性,例如
function get4fomDb() {
return session.run("Match(n) return n");
}
async function controller() {
try {
let result = await get4fomDb();
console.log("Promise results::", result);
} catch (error) {
console.error("Error from db promise::", error);
} finally {
session.close();
driver.close();
}
}
controller();
但是VUTA(目标规则有效性)说“ Object_call的单独目标不受控制”。我该怎么办?
答案 0 :(得分:0)
好像去看医生...
Result := attached a as x and then attached b as y and then y.is_equal (x)
...亚历山大谢谢您的编辑
答案 1 :(得分:0)
有多种方法可以解决此问题,这些方法仅依赖于代码中的更改:
为形式通用参数添加非单独的约束。默认情况下,约束为detachable separate ANY
。例如,如果您有声明
class FOO [G] ...
然后指定显式约束ANY
(不使用separate
)可以解决问题:
class FOO [G -> ANY] ...
通过此更改,所有类型G的实例也将被附加。如果应避免这种情况,应将约束ANY
替换为detachable ANY
,但应在使用前更新代码以检查属性是否已附加:
Result := attached a as x and then attached b as y and then x.is_equal (y)
包装呼叫目标以使其受到控制。这是带有单独指令的示例(可以使用专用功能编写类似代码,例如,如果您有很多这样的相等性测试):
separate a as x do
Result := attached x and then attached b as y and then x.is_equal (b)
end
如果不需要,也可以更改项目设置以避免使用SCOOP。