首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有任何方法可以从apache配置生成一组JWebUnit测试?

是否有任何方法可以从apache配置生成一组JWebUnit测试?
EN

Stack Overflow用户
提问于 2011-07-27 14:48:57
回答 1查看 62关注 0票数 2

似乎不太可能,但有没有办法为以下重写规则生成一组单元测试:

代码语言:javascript
复制
RewriteRule   ^/(user|group|country)/([a-z]+)/(photos|videos)$       http:/whatever?type=$1&entity=$2&resource=$3

由此,我想生成一组表单的urls:

  • /用户/foo/照片
  • /用户/酒吧/照片
  • /组/baz/录像
  • /国家/酒吧/照片
  • 等等。

我不想只手工做一次的原因是,我希望有界的交互组(例如(user|group|country))能够在不手动更新测试的情况下扩展和维护覆盖率。

是否有重写规则或regex解析器可以这样做,或者我是手工完成的呢?

EN

回答 1

Stack Overflow用户

发布于 2012-11-17 16:16:39

如果您不介意侵入几行Perl,那么就有一个包,Regexp::Genex,您可以使用它生成一些与您所需的内容相近的内容。

代码语言:javascript
复制
# perl -MRegexp::Genex=:all -le 'print for strings(qr/\/(user|group|country)\/([a-z]+)\//)'
/user/dxb/
/user/dx/
/user/d/
/group/xd/
/group/x/
#  perl -MRegexp::Genex=:all -le 'my $re=qr/\/(user|group|country)\/([a-z]+)\/(phone|videos)/;$Regexp::Genex::DEFAULT_LEN = length $re;print for strings($re)'
/user/mgcgmccdmgdmmzccgmczgmzzdcmmd/phone
/user/mgcgmccdmgdmmzccgmczgmzzdcmm/phone
/user/mgcgmccdmgdmmzccgmczgmzzdcm/phone
/user/mgcgmccdmgdmmzccgmczgmzzdc/phone

...

/group/gg/videos
/group/g/phone
/group/g/videos
/country/jvmmm/phone
/country/jvmmm/videos
/country/jvmm/phone
/country/jvmm/videos
/country/jvm/phone
/country/jvm/videos
/country/jv/phone
/country/jv/videos
/country/j/phone
/country/j/videos
#

注意:

1)您需要编写一个包装器来解析源文件tokenise (提取)源模式,转义规则中的某些字符(例如"/“),并可能将规则分成更易于管理的部分,然后通过Genex展开,然后以所需的格式输出结果。

2)安装模块类型:cpan::Genex

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6846379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档