Conversation
|
提供 https://github.com/airbnb/enzyme 么,这个用起来还挺方便的 |
|
@doxiaodong 这个不用内置啊,是运行时的,项目自己安装 import 进来应该就可以直接用的 https://github.com/airbnb/enzyme/blob/master/docs/guides/jest.md |
|
moduleDirectories 有包含 src 目录么,我们之前默认把 src 当做module 的,test 也需要吧 |
|
transformIgnorePatterns 也挺有用的吧,https://facebook.github.io/jest/docs/en/configuration.html#transformignorepatterns-array-string |
|
还有一点啊, jest 应该可以不用 webpack 参与就能工作的吧 |
单测经常直接写在 src 里,所以这次没有特别处理 test 目录
没有使用 jest 的 transform,所以不用这个啦,这次加的
不依赖 webpack 的话就需要手动给 jest 配很多 transform 跟 moduleNameMapper(处理 ts/tsx/svg/css/less/vue 等...),一方面是重复逻辑,另外一方面 jest 的 transform 跟 webpack 的 loader 行为不一定能完全一一对应上,也就会导致测试环境跟浏览器环境逻辑的不一致;这也是把测试集成进 builder 的主要原因 |
|
example 加个test 看一下吧,我空了也试一试。 |
|
@doxiaodong 已经加了俩,看这个 commit |
|
加进 |
|
@doxiaodong 哈哈我也是,这个不着急合,已经发了个 beta 版本可用;在大阿里要开始 996 模式了嘛? |
|
倒没有6 |
支持运行单元测试(使用 webpack 先将测试文件作为 entry 进行转换,然后将转换结果作为测试用例执行,从而避免重复配置 jest 等测试工具),使用示例
添加 build config 配置项
test,包括setupFiles&moduleNameMapper字段build config 添加
transformIncludes,指定node_modules中需要被(transform)处理的 package:原有行为是简单地对 js 内容忽略node_modules,现在改为,对于所有内容,忽略node_modules,可以通过transformIncludes指定不被忽略的内容优化 task 执行 log,打印运行时间: