首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ava测试承诺

ava测试承诺
EN

Stack Overflow用户
提问于 2017-06-24 15:23:07
回答 2查看 2.5K关注 0票数 1

我试着测试这门课

代码语言:javascript
复制
class Scraper {
  async run() {
    return await nightmare
      .goto(this.url)
      .wait('...')
      .evaluate(()=>{...})
      .end
  }
}

我的测试是这样的:

代码语言:javascript
复制
test('Scraper test', t => {
  new Scraper().run().then(() => {
    t.is('test', 'test')
  })
})

测试失败:

测试完成,不运行任何断言

编辑

github上的存储库:https://github.com/epyx25/test

测试文件:https://github.com/epyx25/test/blob/master/src/test/scraper/testScraper.test.js#L12

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-25 08:55:12

你得把承诺还给我。不需要断言规划:

代码语言:javascript
复制
test('Scraper test', t => {
  return new Scraper().run().then(() => {
    t.is('test', 'test')
  })
})

或者更好的是,使用异步测试:

代码语言:javascript
复制
test('Scraper test', async t => {
  await new Scraper().run()
  t.is('test', 'test')
})
票数 8
EN

Stack Overflow用户

发布于 2017-06-24 17:30:20

您必须使用断言-规划阻止测试,直到Promise通知lambda为止,例如:

代码语言:javascript
复制
test('Scraper test', t => {
   t.plan(1);
   return new Scraper().run().then(() => {
     t.is('test', 'test')
   })
})

代码语言:javascript
复制
test.cb('Scraper test', t => {
   t.plan(1);
   new Scraper().run().then(() => {
     t.is('test', 'test')
     t.end()
   })
})
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44737946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档