node.js - 测试完成而不运行任何断言(ava-nodejs)
问题描述
为什么这个测试在没有运行任何断言的情况下返回测试完成?承诺处理有问题吗?如果我在服务器上运行此代码一切正常。
test.serial('test with req' , async (assert) => {
var promise = new Promise(function(resolve, reject) {
request('https://www.random.org/integers/?num=1&min=1&max=100&col=5&base=10&format=plain&rnd=new',
(error, response, body) => {
console.log(response)
if(!error){
resolve(body)
} else {
reject(error)
}
})
})
promise.then((result) => {
console.log(result);
assert.true(result !== undefined)
}, (err) => {
console.log(err)
assert.true(err !== undefined)
})
})
解决方案
鉴于request
已经有了 Promise 支持,您可以使用async
/用两行代码重写这个完整的测试await
test.serial('test with req' , async (assert) => {
const result = await request('https://www.random.org/integers/?num=1&min=1&max=100&col=5&base=10&format=plain&rnd=new');
assert.true(result !== undefined);
})
推荐阅读
- css - 如何在顺风时做出响应式溢出
- php - 如何使用查询生成器将原始子查询转换为 laravel 查询?
- php - PHP - 多个条件的测试数组
- docker - 在heroku中使用sqlite数据库
- nginx - 匹配 nginx 的位置前缀不适用于变量
- c# - 如何使用 selenium 绕过 cloudflare
- flutter - 如何使用rootBundle在flutter中加载配置
- android - 片段不使用 FragmentContainerView 切换
- memory - Common Lisp 中的对象内存布局
- python - 如何检查字符串是否包含任何列表的元素 | 类型错误:'在
' 需要字符串作为左操作数,而不是列表 | 初学者问题