Skip to content

ava@0.25.0以及搭配nyc使用的时候错误栈问题 #25

@xtx1130

Description

@xtx1130

最近一直在跟进一个百度的开源项目,其中单测没有用我比较熟悉的jest,项目方用的是ava。在本地跑单测的时候发现一系列有意思的问题:

  • 使用ava@0.18.0,测试命令为ava -v的时候,ava的错误栈是没有异常的
  • 使用ava@0.25.0,测试命令为ava -v的时候,ava的错误栈是异常的
  • 使用ava@0.18.0搭配nyc,测试命令为nyc ava -v的时候,ava的错误栈是异常的
  • 使用ava@0.25.0搭配nyc,测试命令为nyc ava -v的时候,ava的错误栈是异常的

也就是除了单独使用ava@0.18.0,其余的搭配组合都是有问题的。在ava提交isssue之后,官方提供了一套issue的观光路线。我观光了一圈,了解到的大致意思就是:ava重写了babel-registersource-map,导致错误栈异常的问题。具体的解决办法就是在写代码的时候用“pure javascript”。。。不要用babel-register做转义。
顺带提一句,ava在ava@0.25.0中内置的babel是用来转义测试用例,而不是源代码的,如果源代码需要转义,还是需要babel-register,后来我把babel-register换成了esm,还是同样的问题。。。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions