Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejs+;qunit:在测试中保存返回的异常_Javascript_Node.js_Qunit - Fatal编程技术网

Javascript nodejs+;qunit:在测试中保存返回的异常

Javascript nodejs+;qunit:在测试中保存返回的异常,javascript,node.js,qunit,Javascript,Node.js,Qunit,我刚到昆特(有一天),还在学习 我想保存异常中的消息和stacktrace。我不知道该怎么做 在下面的代码中,stacktrace和message的副本放在变量中。我假设范围不同 QUnit.test("Internal scheme validator - destination list - empty - no strict", function(assert) { var path ='[{"sid":"test_scheme0","ssch":"","dstli":""}]'; var

我刚到昆特(有一天),还在学习

我想保存异常中的消息和stacktrace。我不知道该怎么做

在下面的代码中,stacktrace和message的副本放在变量中。我假设范围不同

QUnit.test("Internal scheme validator - destination list - empty - no strict", function(assert) {
var path ='[{"sid":"test_scheme0","ssch":"","dstli":""}]';
var pathi = JSON.parse(path);
var expected = 'undefined scheme destination list';
var err;
var enm;
var emsg;
var estk;
assert.throws(
    function(){
        "use strict";
        sysCatalog.__vschi__(pathi,"SchemeTest Ignore Message" );
    },
    function(e){
        err= JSON.parse(JSON.stringify(e));
        enm= JSON.parse(JSON.stringify(e.name));
        emsg = JSON.parse(JSON.stringify(e.message));
        estk = JSON.parse(JSON.stringify(e.stack));
        return emsg === expected;
    },
    'Wrong exception message returned.\nExpected: '+ expected+'\nActual: '+ emsg +'\nBacktrace:\n'+estk
);

}))

这取决于您希望如何保存结果。如果要将错误和堆栈跟踪输出到文件,则可以使用节点中的api将结果保存到格式良好的文件中

fs.writeFile(...);

此外,还有一个与集成的模块,可用于将结果输出到XML文件。

这需要重新思考一下。。quinit异常机制对于我的需求来说有点初级。。这是我还原到的解决方案,它是在移动到qunit之前开始的测试代码

有一个缺点,qunit将在以下情况下转储回溯:

QUnit.config.notrycatch=true


是的,但它不在任何qunit测试报告中。我确实想出了实现目标的办法。。
    QUnit.test("Internal scheme validator - destination list - empty - strict", function(assert) {
    var path ='[{"sid":"test_scheme0","ssch":"","dstli":""}]';
    var pathi = JSON.parse(path);
    var expected = 'zero length scheme destination list';
    var enm;
    var emsg;
    var estk;
    try{
        sysCatalog.__vschi__(pathi,"SchemeTest Ignore Message",true );
    }catch(e){
        // here the test failed and we should not proceed
        //cc=false;
        enm= e.name;
        emsg = e.message;
        estk = e.stack;
    }
    assert.strictEqual(emsg,expected, 'Wrong exception message returned.\nBacktrace:\n'+estk);
});