测试我的将 base64 转换为 url 的函数
我有我的函数将 base 64 转换为 url
function convertB64ToUrl(cameraImage: string): string {
const byteString = atob(cameraImage)
const arrayBuffer = new ArrayBuffer(byteString.length)
const uint8Array = new Uint8Array(arrayBuffer)
for (let i = 0; i < byteString.length; i++) {
uint8Array[i] = byteString.charCodeAt(i)
}
const blob = new Blob([arrayBuffer], { type: 'image/jpeg' })
return URL.createObjectURL(blob)
}
稍后在我的代码中,我在 中的
src
处使用了该函数的返回。 它工作正常。
我的问题是如何正确测试它?
我只开发一个小测试
test('Util function convertB64ToUrl should convert given string to url', () => {
const initialData = convertB64ToUrl(btoa('Hello'))
expect(initialData).toStrictEqual(new Blob(['Hello'], { type: 'image/jpeg' }))
})
I have my function to convert base 64 to url
function convertB64ToUrl(cameraImage: string): string {
const byteString = atob(cameraImage)
const arrayBuffer = new ArrayBuffer(byteString.length)
const uint8Array = new Uint8Array(arrayBuffer)
for (let i = 0; i < byteString.length; i++) {
uint8Array[i] = byteString.charCodeAt(i)
}
const blob = new Blob([arrayBuffer], { type: 'image/jpeg' })
return URL.createObjectURL(blob)
}
Later in my code I used return of this function at src
in <img/>
. It works fine.
My question is how can I properly test it?
I develop only one small test
test('Util function convertB64ToUrl should convert given string to url', () => {
const initialData = convertB64ToUrl(btoa('Hello'))
expect(initialData).toStrictEqual(new Blob(['Hello'], { type: 'image/jpeg' }))
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我在这里使用快照测试:
不幸的是,jsdom 不提供实现
URL.createObjectURL
因此您可能需要使用 blob 序列化来模拟它:作为一个选项,您可以使用 blob-to-base64 包
I'd use snapshot test here:
Unfortunately, jsdom does not provide implementation for
URL.createObjectURL
so you may need to mock it with blob serialization:As an option you can use blob-to-base64 package