簡體   English   中英

摩卡在測試中傳遞“不是功能響應”

[英]Mocha delivering “not a function response” in testing

剛開始使用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測試用例,沒有特殊的assert模塊或任何東西,純粹是簡單的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));
            });
        });
    });
});

基本上只是寫這些來看看我是否可以按照我認為應該的方式來工作,因為我所看到的例子都是合理的。 但是,當我運行此代碼時,它最終無法正常工作,原因是我嘗試使用索引調用的任何函數均失敗,包括index.add,index.subtract等,尤其是由於TypeError:index。[function_name]不是功能。

從我在別人的代碼中閱讀和看到的內容來看,這應該可以工作。 我的文件夾已設置為要測試的文件位於\\ lscmocha \\ app中,而包含這些測試的測試文件位於\\ lscmocha \\ test中。 任何幫助將不勝感激,很抱歉,如果它是一個明顯的答案或重復的問題,我找了一會兒,找不到任何東西。

Sunil D.問我是否導出了函數,但沒有。 一定已經跳過了告訴我的部分。 如果您遇到與我同樣的麻煩,只需確保將函數導出到主要的JavaScript腳本文件中即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM