【问题标题】:What is the best way to test function that creating a folder with some files?测试创建包含一些文件的文件夹的功能的最佳方法是什么?
【发布时间】:2011-03-10 18:06:52
【问题描述】:

我的函数必须创建一个包含一些文件的文件夹。为此编写单元测试的最佳方法是什么?

【问题讨论】:

    标签: ruby unit-testing


    【解决方案1】:

    一些情况:

    如果文件和文件夹已经创建 =>你可以在你的设置方法中创建一个包含一些文件的文件夹,然后在你的拆卸中删除

    如果您提供了错误的创建路径 =>在你的方法中测试救援块

    如果文件和文件夹创建成功 => 你可以通过 File.exist 来测试它吗?和 Dir.exist?(dir_name)

    【讨论】:

      【解决方案2】:

      有两种方法可以查看文件或目录是否存在。一种方法是File.exist?(file_name),如果文件存在则返回true。另一种方法是Dir.exist?(dir_name),如果目录存在则返回true。 现在你可以在你的单元测试中使用这个方法来测试你的函数应该创建的文件和目录是否存在。 更多关注她:http://www.ruby-doc.org/core/classes/File.html

      【讨论】:

      • 谢谢。那么,可以在测试中创建文件和文件夹吗?例如,如果有人想要执行我的测试,但他没有创建文件的权限,那么测试就会失败。没事吧?
      • @nash: 如果你的应用程序在这种情况下会失败,那么如果测试也失败了也没关系。你可能希望你的测试写入磁盘而不是开发和生产环境,只是因为你有单独的数据库。在 Mac 和 Linux 机器上,/tmp 是一个好地方。在 Windows 上,我不确定。在任何情况下,请记住清理测试创建的目录/文件。
      • 就像 Marten 说的,测试后清理很重要。当你这样做时,你可以在你的测试中创建你喜欢的文件和文件夹。如果有人没有创建文件或文件夹的权限,则测试将失败,如果您使用 Dir.exists 进行测试?还是 File.exists?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-28
      • 2015-04-30
      相关资源
      最近更新 更多