如果文件夹是可读/可写的,如何编写测试用于测试

时间:2013-08-23 16:33:40

标签: perl testing perl-module

我编写了一个模块,用于检查目录是否可写或可读。 但是,我该如何测试呢?

通常,在编写模块时,您可以编写一些测试来测试模块的功能。如何创建一个目录,该目录不能由实际创建模块的测试写入?

我想象这样的事情:

use strict;
use warnings;
use File::Temp qw/ tempdir /;

use Test::More tests => 5;
BEGIN { use_ok('My::DirCheck') };

my $readable_dir = tempdir();
my $check = My::DirCheck->new(directory => $readable_dir);

is($check->is_readable(), 1, 'temp dir is readable');

# FIXME: how to make it not readale?
isnt($check->is_readable(), 1, 'temp dir is not readable');


my $writable_dir = tempdir();

is($check->is_writeable(), 1, 'temp dir is writeable');

# FIXME: how to make it not writable?
isnt($check->is_writeable(), 1, 'temp dir is not writeable');

但是我如何创建一个目录,使其成为只读,然后将其删除?

1 个答案:

答案 0 :(得分:1)

尝试使用File::Path代替File::Temp,它允许您选择能够设置directories's permissions模式参数。对于没有读取,写入和执行权限的目录,将模式设置为0000

假设它来自Perl核心,它应该可以在大多数操作系统上移植。