我尝试使用'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){
}
})
})
答案 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();
})
})