4
我看到在开源中有很多base64实现可用,并且我在维护的产品中发现了多个内部实现。是否有可用于完整测试base64编码/解码器的数据集?
我想分解重复,但我不是100%确定所有这些实现给出相同的输出。因此,我需要有一个数据集来测试所有可能的输入组合。
是否有可用的地方?谷歌搜索没有真正报告。
我在stackoverflow上看到了一个类似的问题,但这个问题还没有得到充分的回答,实际上只是要求一个用来测试所有64个字符的短语(用ascii)。例如,它不处理填充。所以一个测试字符串肯定不适合100%测试的账单。
在充气城堡中的测试在单元测试中有点不好。它正在生成随机数据,然后检查编码解码,最终得到原始随机数据。 –
我同意。我自己的单元测试使用RFC 4648字符串和几个精心构造的包含控制字符的长字符串。 I –
(点击提交意外)我提到了Bouncy Castle测试,因为你想测试所有角色。虽然大量的随机数据不能保证包含每个字符,但它比通过手动构建的静态数据更可能破坏实现。诚然,往返闻起来有点蹊跷,但实际上,编码器和解码器不太可能存在互补错误。根据我的经验,实现了几个类似于base64的编码器(必须排除一些合法的可打印字符),一个破碎的编码器会造成垃圾,并通过破碎的解码器运行该垃圾会造成乱码。 –