用mocha + chai进行单元测试总是通过

时间:2017-11-04 13:53:49

标签: unit-testing typescript mocha bdd chai

我尝试使用'mocha'和'chai'进行单元测试,但是测试结果有问题,它总是通过。 请看一下。

UnitTest.spec.ts

import PostgresService from "../src/Services/PostgresService"
import {expect} from "chai"
import 'mocha'

describe('Postgres Override Test function', () => {
    it('should return any number but not zero', async () => {
        let client = new PostgresService();
        let result = await client.getLatestCMD("Servo");   
        try{
            console.log("Type : " + typeof(result));
            console.log("Value : " + result.rows[0].id);
            expect(result.rows[0].id).to.equal(0)        
        }catch(error){

        }
    })
})

enter image description here

2 个答案:

答案 0 :(得分:1)

删除try catch块以实际运行expect函数。

如果您的try块返回错误,JavaScript解释器将移至catch块,因此前者永远不会运行。

答案 1 :(得分:0)

当您使用ASYNCHRONOUS CODE时,您需要在回调中完成

例如

您需要将完成声明为it的参数。

it('description', (done) => {
    expect((err, result) => {
    if (err) done(err);
    else done();
 })
})