1

我们公司有一个团队致力于 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/

4

4 回答 4

5

你可能会在Perlmonks上得到很好的帮助。该网站面向此类帖子,而 Stackoverflow 更多的是关于直接和可回答的问题。

祝你好运, :)

于 2009-03-14T07:58:22.770 回答
4

在 Perl 上有一个更完整的 Cucumber 实现,形式为Test::BDD::Cucumber

于 2012-03-19T06:40:55.430 回答
2

Test::A8N是否符合您的要求?

如果没有, CPAN上还有很多其他的Test::模块可以满足您的需求。

于 2009-03-13T14:32:33.377 回答
2

你能回顾一下我对 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 等。我最近开始使用Dist::Zilla,并且对它非常满意。它让我克服了释放我的第一个 cpan 模块的激活能量。

Dist::Zilla 20 秒游览:

  1. 下载并安装 Dist::Zilla 及其要求(有很多,因为它是开发人员专用工具)
  2. 在包的顶层创建一个 dist.ini 文件('dzil new MyPackage')
  3. 运行“dzil test”、“dzil build”和“dzil release”,进行测试,(构建和测试),(构建、测试和发布)

请参阅Dist::Zilla::Tutorial

于 2010-04-14T07:58:50.377 回答