首页 > 解决方案 > 使用 Mocha、Chai、node.js 测试异步方法

问题描述

我有一个非常简单的代码结构,像这样

TestWorks.ts

const axios = require('axios');

export class TestWorks{

    async getUsersList(param1:TestModel, userDetail:any){

    console.log("BEGIN -- ... ");

然后这是我的测试课

我的测试.ts

const testworks = require("../src/interfaces/TestService/TestWorks");

it('Get Users', async () => {
    var x = await testworks.getUsersList({}, {});
    expect(x).to.be.an("object");
});

但我看到以下错误,无法弄清楚问题可能是什么。路径绝对正确,文件所在位置的文件路径不是问题

Get Users:
     TypeError: testworks.getUsersList is not a function
     at C:\Users\xxxxxx\Documents\xxxxx\test\test-server.test.ts:53:28

标签: node.jsunit-testingmocha.jschai

解决方案


testworks指模块(或任何 TypeScript 导出),因为您使用require(). 您应该使用importTypeScript 模块。

import { TestWorks } from '../src/interfaces/TestService/TestWorks';

推荐阅读