微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby – RSpec – 针对实际文件进行测试,而不是模拟数据

我对RSpec很新,所以这是一个非常基本的问题.我正在编写一些从文件中解析大量数据的东西,进行一些处理并返回一个汇总结果,这对 Ruby来说非常可爱.

我想对这段代码进行一些RSpec测试,但我不想在测试中模拟数据.这些文件很大而且很复杂,因为我希望代码能够处理这些文件,所以我希望在测试中直接使用这些文件.

我做了很多谷歌搜索,我一直无法找到这种情况的最佳实践示例 – 我发现的一切似乎都建议使用模拟数据.

因此,为了清楚起见,我想知道针对实际测试数据文件运行RSpec测试的最佳实践,而不是针对测试代码中模拟的东西.我很高兴打开文件,阅读它们等等,这不是问题所在.我真正感兴趣的是如何最好地构建我的测试和测试数据目录.

解决方法

我过去所做的是在specs文件夹中创建一个数据文件夹来保存我想要读取的文件.

我理解你想要使用实际文件的动机,因为在实际文件中通常有各种各样的小边缘情况,你可能没有想到自己.我的建议是进行一个测试,打开文件并测试你想要的信息.但是,如果该测试失败,请创建一个新测试以解决您找到的文件中的特定问题.

例如,假设在尝试打开文件时发现它无法正确处理非UTF8数据.使用相关行创建一个新测试作为使用的数据(而不是简单地将其作为较大测试的一部分).这样,如果它再次失败,你将能够准确找出痛点的确切位置.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐