使用 tap 测试 console.log 的输出
Use tap to test the output of a console.log
我有一个非常基本的脚本,我希望能够使用 node-tap 添加覆盖范围:
const chalk = require('chalk')
module.exports = skip = type => console.log(chalk.blue(`Skipping generation of ${type} due to user selection`))
它所做的只是向用户显示 console.log 消息(这是一个命令行应用程序)。
我已经为它编写了以下点击测试:
// test/hello-world.js
const t = require('tap')
const skip = require('../scripts/skip')
t.test('skip() Returns the expected console message', async t => {
t.equal(skip('test'), "Skipping generation of test due to user selection`")
t.end()
})
但显然失败了,因为我没有返回该消息,我返回了 console.log。那么我该如何测试呢?
检查这个https://node-tap.org/docs/api/snapshot-testing/
应该可以解决你的问题
我有一个非常基本的脚本,我希望能够使用 node-tap 添加覆盖范围:
const chalk = require('chalk')
module.exports = skip = type => console.log(chalk.blue(`Skipping generation of ${type} due to user selection`))
它所做的只是向用户显示 console.log 消息(这是一个命令行应用程序)。
我已经为它编写了以下点击测试:
// test/hello-world.js
const t = require('tap')
const skip = require('../scripts/skip')
t.test('skip() Returns the expected console message', async t => {
t.equal(skip('test'), "Skipping generation of test due to user selection`")
t.end()
})
但显然失败了,因为我没有返回该消息,我返回了 console.log。那么我该如何测试呢?
检查这个https://node-tap.org/docs/api/snapshot-testing/
应该可以解决你的问题