Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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中测试对象内部的函数_Javascript_Node.js_Ecmascript 6_Mocha.js - Fatal编程技术网

在Javascript中测试对象内部的函数

在Javascript中测试对象内部的函数,javascript,node.js,ecmascript-6,mocha.js,Javascript,Node.js,Ecmascript 6,Mocha.js,在测试对象内部的函数时,如何在Mocha中传递变量值 例如: foo.js const a = { vars: {name:"James"}, output() { console.log(this.vars.name) } } 如何测试函数输出并使测试用例具有不同的名称值?您可以通过将值赋给descripe()调用中的变量(即name)来传入值。有关如何执行此操作的示例,请参见 只需在测试用例中分配它 a.js const a = { vars: {name:"Jame

在测试对象内部的函数时,如何在Mocha中传递变量值

例如:

foo.js

const a = {
  vars: {name:"James"},
  output() {
   console.log(this.vars.name)
  }
}

如何测试函数输出并使测试用例具有不同的名称值?

您可以通过将值赋给
descripe()
调用中的变量(即
name
)来传入值。有关如何执行此操作的示例,请参见


只需在测试用例中分配它

a.js

const a = {
  vars: {name:"James"},
  output() {
    return this.vars.name
  }
}

module.exports = a
const a = require('./a.js')

var assert = require('assert');

describe('aTest', function() {
  it('nameA', function() {
    a.vars = {name: "A"}
    // console.log(a.output())
    assert.equal(a.output(), "A")
  });
  it('nameB', function() {
    a.vars = {name: "B"}
    assert.equal(a.output(), "B")
  });
});
a.test.js

const a = {
  vars: {name:"James"},
  output() {
    return this.vars.name
  }
}

module.exports = a
const a = require('./a.js')

var assert = require('assert');

describe('aTest', function() {
  it('nameA', function() {
    a.vars = {name: "A"}
    // console.log(a.output())
    assert.equal(a.output(), "A")
  });
  it('nameB', function() {
    a.vars = {name: "B"}
    assert.equal(a.output(), "B")
  });
});