gpt4 book ai didi

javascript - 在客户端 Mocha 单元测试期间使用外部类

转载 作者:行者123 更新时间:2023-12-03 07:45:11 26 4
gpt4 key购买 nike

我正在使用 Mocha 使用以下方法对 javascript 类运行单元测试,首先是测试:

var base = require('../moduleone.js');

describe("some test", function() {
it("description", function() {
var check = base.toBeTested(dummyValue)
//test is here ...
});
});

包含要测试的函数的moduleone.js:

function toBeTested(category){
//below I calling an assert function defined in moduletwo
//works fine when running in browser
assert(type(category)=='string','category is string type');
//more code..
return something

module.exports.toBeTested = toBeTested;

moduletwo.js:

function assert(outcome, description) {
//see code.tutsplus.com quick and easy javascript testing with assert
var li = outcome ? 'pass' : 'fail';
if (li == 'fail') {
console.log('FAIL: '+description);
}
else {
console.log('PASS: '+description);
}
}

我遇到的问题是mocha对moduletwo一无所知,当moduleone函数调用moduletwo中的函数时,mocha会抛出ReferenceError:assert未定义。如何链接所有依赖项以便 mocha 可以看到它们?

最佳答案

在您的 moduleone.js 中,确保您requiremoduletwo.js 携带您的assert函数进入 moduleone.js 的范围。否则,您会收到 ReferenceError,这不是由于 mocha 的任何原因,而是因为 moduleone 无法访问 assert >.

// moduletwo.js
function assert(outcome, description) { /* your functionality */ }

module.exports = assert


// moduleone.js
var assert = require('./moduletwo')

function toBeTested(category) { /* your functionality that uses assert */ }

module.exports.toBeTested = toBeTested

现在,关于该教程。如果您遵循它来学习如何制作一个简单的断言模块,那很好。但是,如果您尝试测试一些执行其他操作的代码,请考虑使用现有的断言库,例如 chai 。例如:

// example.test.js
var expect = require('chai').expect
var isValidCategory = require('./is-valid-category')

describe('isValidCategory(category)', function () {

it('validates string categories', function () {

expect(isValidCategory('A String Category')).to.be.true

})

it('does not validate non-string categories', function () {

expect(isValidCategory(['an', 'array', 'somehow'])).to.be.false

})

})

// is-valid-category.js
module.exports = function isValidCategory(category) {

return typeof category === 'string'
}

关于javascript - 在客户端 Mocha 单元测试期间使用外部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35238165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com