js中的一条测试用例在调用主函数时,总是返回undefined

测试函数

let sinon = require("sinon");

let main = require("../lib/main");


describe('main()', () => {


    it('should display main menu once started', () => {

        sinon.spy(console, 'log');

        main();

        expect(console.log.args.join()).toBe(`1. 添加学生

2. 生成成绩单

3. 退出

请输入你的选择(1~3):`);

    });


    it('should display 请输入学生信息(格式:姓名, 学号, 民族, 班级, 学科: 成绩, ...)', () => {

        // sinon.spy(console, 'log');

        const display = main();

        // console.log(display)

        expect(display).toBe('请输入学生信息(格式:姓名, 学号, 民族, 班级, 学科: 成绩, ...),按回车提交:')

    }) 


});

被测函数

module.exports = () => {

    function choice1(){

        let display = '请输入学生信息(格式:姓名, 学号, 民族, 班级, 学科: 成绩, ...),按回车提交:'

        return display;

    }

    function choice2(){

    

    }

    function choice3(){

    

    }

    function invalidInput1(){

    

    }

    function defaultPage(){

        console.log( `1. 添加学生

2. 生成成绩单

3. 退出

请输入你的选择(1~3):`)

    }


    defaultPage();

    var readlineSync = require('readline-sync');

    var answer = readlineSync.question();

    if(answer == 1){

        choice1();

    }else if(answer == 2){

        choice2();

    }else if(answer == 3){

        choice3();

    }else{

        return 'Bad choice, please choose again!'

    }

}

运行结果

https://img.mukewang.com/5cab0b1a0001257208000317.jpg

拉风的咖菲猫
浏览 292回答 1
1回答

慕桂英546537

if(answer == 1){ return choice1(); }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript