jest测试html2text,用 Jest 测试一切你想测试的

测试环境变量

mysql.ts

const MySQLConf = {

development: {

host: 'localhost',

port: 3306,

user: 'root',

password: 'root',

database: 'local_db',

},

production: {

host: 'www.jianshu.com',

port: 3306,

user: 'root',

password: 'root',

database: 'online_db',

},

};

export default MySQLConf[process.env.NODE_ENV ?? 'development'];

mysql.spec.ts

describe('环境变量', () => {

const OLD_ENV = process.env;

beforeEach(() => {

jest.resetModules();

process.env = { ...OLD_ENV };

delete process.env.NODE_ENV;

});

it('development', () => {

process.env.NODE_ENV = 'development';

const MySQLConf = require('./mysql').default;

const expected = {

host: 'localhost',

port: 3306,

user: 'root',

password: 'root',

database: 'local_db',

};

expect(MySQLConf).toEqual(expected);

});

it('production', () => {

process.env.NODE_ENV = 'production';

const MySQLConf = require('./mysql').default;

const expected = {

host: 'www.jianshu.com',

port: 3306,

user: 'root',

password: 'root',

database: 'online_db',

};

expect(MySQLConf).toEqual(expected);

});

});

说明

每次执行一个it方法后执行(注:用 afterEach 方法也行,只是一个前后的问题)

多个测试有共享状态时,每次测试完成之后需要用 jest.resetModules() 重置模块 ,它会清空所有 required 模块的缓存,保证模块之间的隔离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值