gpt4 book ai didi

javascript - Mocha 在测试中提供 "not a function response"

转载 作者:行者123 更新时间:2023-12-03 04:16:26 28 4
gpt4 key购买 nike

刚刚开始使用 mocha 作为测试套件,并在几年未使用后恢复了 javascript 的速度,所以这可能是也可能不是一个有明显答案的愚蠢问题。只是测试一些东西,看看效果如何。

我在一个名为index.js的文件中有一个计算函数的小文件,这是mocha设置为跳转的文件。

function add(numA, numB) {
return parseFloat(numA) + parseFloat(numB);
}

function subtract(numA, numB) {
return parseFloat(numA) - parseFloat(numB);
}

function divide(numA, numB) {
return parseFloat(numA) / parseFloat(numB);
}

function multiply(numA, numB) {
return parseFloat(numA) * parseFloat(numB);
}

function modulo(numA, numB) {
return parseFloat(numA) % parseFloat(numB);
}

尽量保持简单,同时允许一些多样性和测试空间。不管怎样,我然后尝试为其编写一组测试用例,也很简单,只是 mocha 测试用例,没有特殊的断言模块或任何东西,纯粹简单的 mocha 和 javascript。

describe("index", function() {
var assert = require("assert");
var x = 12;
var y = 34;
var index = require('../app/index');

beforeEach(function() {
x++;
y--;
console.log(" x = " + x + "; y = " + y);
});
describe("index", function() {
describe("Addition", function() {
it("should add numbers", function() {
assert.equal(x + y, index.add(x, y));
});
});
describe("Subtraction", function() {
it("should subtract numbers", function() {
assert.equal(x - y, index.subtract(x, y));
});
});
describe("Division", function() {
it("should divide numbers", function() {
assert.equal(x / y, index.divide(x, y));
});
});
describe("Multiplication", function() {
it("should multiply numbers", function() {
assert.equal(x * y, index.multiply(x, y));
});
});
describe("Modulus", function() {
it("should modulo numbers", function() {
assert.equal(x % y, index.modulo(x, y));
});
});
});
});

基本上只是写这些来看看我是否能让 Mocha 以我认为应该工作的方式工作,因为我看到的例子都是有道理的。然而,当我运行这段代码时,它最终不起作用,原因是我尝试使用索引调用的任何函数都失败了,index.add、index.subtract 等等,特别是因为 TypeError: index.[function_name]不是一个函数。

根据我在其他人的代码中阅读和看到的内容,这应该可行。我的文件夹设置为我正在测试的文件位于\lscmocha\app 中,而这些测试所包含的测试文件位于\lscmocha\test 中。任何帮助将不胜感激,抱歉,如果这是一个明显的答案或重复的问题,我找了一段时间但找不到任何东西。

最佳答案

Sunil D. 问我是否导出了函数,我没有。一定是跳过了告诉我的部分。如果您遇到和我一样的问题,只需确保您的函数已在主 javascript 脚本文件中导出即可。

关于javascript - Mocha 在测试中提供 "not a function response",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44121885/

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