Unit Test with Jest gives TypeError: File.test.js: Cannot read property 'toString' of undefined
Unit Test with Jest gives TypeError: File.test.js: Cannot read property 'toString' of undefined
我一直在使用 Expo CLI 在 React Native 中工作,最近我的单元测试开始遇到问题,由于一个常见原因而失败。堆栈跟踪在下面
Cannot read property 'toString' of undefined
at Converter.toBase64 (node_modules/convert-source-map/index.js:61:46)
at Converter.toComment (node_modules/convert-source-map/index.js:65:21)
at generateCode (node_modules/@babel/core/lib/transformation/file/generate.js:78:76)
at run (node_modules/@babel/core/lib/transformation/index.js:55:33)
at run.next (<anonymous>)
at transform (node_modules/@babel/core/lib/transform.js:27:41)
at transform.next (<anonymous>)
at evaluateSync (node_modules/gensync/index.js:244:28)
at sync (node_modules/gensync/index.js:84:14)
我的节点版本是 node:12.18.4.I 想知道是什么导致了这些错误,因为一切都运行良好。在我的本地系统上,它们偶尔工作正常,但 CI 过程往往会随机地使它们失败,这阻碍了整体代码覆盖率数字。
我正在尝试的单元测试运行非常简单,如下所示
it('Renders Strings as expected', () => {
expect(received).toStrictEqual(expected)
})
致那些仍在四处寻找上述问题答案的人。
问题出在需要处理此异常的库本身 convert-source-map 中。
我分叉了实际的存储库并在第 64 行的 toBase64 方法中处理了该异常。现在这个方法看起来有点像
Converter.prototype.toBase64 = function () {
var json = this.toJSON();
return (SafeBuffer.Buffer.from(json, 'utf8') || "").toString('base64');
};
现在一切正常。
原来的方法是这样的
Converter.prototype.toBase64 = function () {
var json = this.toJSON();
return SafeBuffer.Buffer.from(json, 'utf8').toString('base64');
};
我一直在使用 Expo CLI 在 React Native 中工作,最近我的单元测试开始遇到问题,由于一个常见原因而失败。堆栈跟踪在下面
Cannot read property 'toString' of undefined
at Converter.toBase64 (node_modules/convert-source-map/index.js:61:46)
at Converter.toComment (node_modules/convert-source-map/index.js:65:21)
at generateCode (node_modules/@babel/core/lib/transformation/file/generate.js:78:76)
at run (node_modules/@babel/core/lib/transformation/index.js:55:33)
at run.next (<anonymous>)
at transform (node_modules/@babel/core/lib/transform.js:27:41)
at transform.next (<anonymous>)
at evaluateSync (node_modules/gensync/index.js:244:28)
at sync (node_modules/gensync/index.js:84:14)
我的节点版本是 node:12.18.4.I 想知道是什么导致了这些错误,因为一切都运行良好。在我的本地系统上,它们偶尔工作正常,但 CI 过程往往会随机地使它们失败,这阻碍了整体代码覆盖率数字。
我正在尝试的单元测试运行非常简单,如下所示
it('Renders Strings as expected', () => {
expect(received).toStrictEqual(expected)
})
致那些仍在四处寻找上述问题答案的人。 问题出在需要处理此异常的库本身 convert-source-map 中。
我分叉了实际的存储库并在第 64 行的 toBase64 方法中处理了该异常。现在这个方法看起来有点像
Converter.prototype.toBase64 = function () {
var json = this.toJSON();
return (SafeBuffer.Buffer.from(json, 'utf8') || "").toString('base64');
};
现在一切正常。
原来的方法是这样的
Converter.prototype.toBase64 = function () {
var json = this.toJSON();
return SafeBuffer.Buffer.from(json, 'utf8').toString('base64');
};