我试图用茉莉花写一个测试方法来读取文件并对其进行处理。此方法有两个步骤(读取文件之外):验证文件然后进行处理。我想测试文件无效时该方法是否引发异常。
对于我的测试,我需要示例文件进行测试,因此我想知道生成/存储代表性测试文件的最佳实践是什么。我应该手动创建这些并将其保存在测试中吗?我应该写一些东西来生成要测试的文件吗?写一些可以生成文件数据进行测试的东西吗?完全还有其他东西吗?
从其他问题(Unit Testing File I/O)可以看出,我不需要测试I / O本身,仅需要测试方法的功能即可,但是我确实需要一些数据来测试该方法。
答案 0 :(得分:0)
正如您所描述的,您要测试的是文件的内容已正确验证。文件内容只是数据,对于验证过程,它不应该影响数据的实际来源。也就是说,“文件内容”也可以作为数据提供,实际上是直接从测试代码提供的:
这要求您能够以某种方式绕过文件内容的读取,例如通过模拟文件访问操作。或者,通过将文件的读取与内容的验证分开,以便验证部分已经获取了一些内存中的数据进行验证,并且可以分别进行测试。
您的问题尚不清楚您的方案是否允许这样做。但是,如果可能的话,它具有一些不错的属性:您的测试更易于维护,因为您无需处理大量文件,而是将所有内容都放在一个位置(即包含测试的文件)。您较少依赖文件系统问题,例如缺少写入或读取访问权限,文件名区分大小写等等。