我们公司有一个团队致力于 X11 GUI 应用程序的验收测试,他们创建了一个巨大的验收测试框架来驱动 GUI 以及运行场景。

该框架是使用 Perl 5 编写的,场景文件看起来更像是非常复杂的 Perl 程序(数千行长的过程编程风格),而不是验收测试。

我最近学习了 Ruby 的 Cucumber,并且通常已经使用 Ruby 相当长的时间了。但不幸的是,我不能直接用 Ruby 来取代 Perl,因为编写所有这些内容的人并不了解 Ruby,而且很确定他们不会想要“这种”类型的中断。

因此,为了让 Ruby 的 Cucumber 更接近他们的工作,我使用 Perl 5 重写了它。不幸的是,我真的不是一个 Perl 程序员,并且很乐意进行代码审查并听取了解 Perl 和 Cucumber 的人的建议。

大家好,Perl/Cucumber StackOverflow 用户 - 请帮助我创建这个“开源”尝试,为 Perl 重新创建 Cucumber!我很想听听您的意见,并接受任何可以接受的帮助。

最小的源代码在这里:

http://github.com/kesor/p5-cucumber

感谢您的关注。

对于那些不熟悉黄瓜的人 - 请花一点时间看一下这个小页面: http://cukes.info/

有帮助吗?

解决方案

您可以回顾我的Cucumber的Perl重写吗?

回答:是的。

我已经阅读了您发布的 github 代码。看起来不错。

我对 Parser::Parser.yp::ERROR 中的以下片段感到好奇。为什么选择使用“and do {}”而不是“if( ){ }”?风格?范围界定?其他?

  exists $parser->YYData->{ERRMSG}
  and do {
    print $parser->YYData->{ERRMSG};
    delete $parser->YYData->{ERRMSG};
    return;
  };

我还没有使用过黄瓜,但仍在尝试了解使用模型。有人会如何验证/运行您的计算器示例?

如果您计划将代码发布到 CPAN(您应该这么做),那么您需要将此 git 源代码捆绑到可安装的 tarball 中。您需要包含模块安装工具之一:ExtUtils::MakeMaker、Module::Build 等我最近开始使用 地区::齐拉, ,我真的很高兴。它让我克服了释放第一个 cpan 模块的激活能量。

Dist::Zilla 20 秒游览:

  1. 下载并安装Dist :: Zilla及其要求(有很多,因为它是开发人员的工具)
  2. 在软件包的最高级别('dzil new mypackage')创建一个dist.ini文件
  3. 运行“ dzil test”,“ dzil build”和“ dzil版本”,以测试(构建和测试),(构建,测试和释放)

请参阅 Dist::Zilla::教程

其他提示

您可能会在 Perlmonks 很好的帮助。该网站是面向对这类帖子,而#1更多的是直接和回答的问题。

好运,:)

有对Perl编写的,而更全面执行黄瓜在测试:: BDD ::黄瓜的形式

测试:: A8N 满足您的需求?

如果不是有很多其他测试: :对模块 CPAN 可以做你以后

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top