1

当社には X11 GUI アプリケーションの受け入れテストに取り組んでいるチームがあり、GUI と実行シナリオを駆動する巨大な受け入れテスト フレームワークを作成しました。

フレームワークは Perl 5 を使用して記述されており、シナリオ ファイルは、受け入れテストというよりも、非常に複雑な Perl プログラム (手続き型プログラミング スタイルの数千行) のように見えます。

私は最近、Ruby の Cucumber を学び、一般的にかなり長い間 Ruby を使用しています。しかし残念なことに、Perl の代わりに Ruby を強要することはできません。なぜなら、これらすべてを書いている人々は 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

Test::BDD::Cucumberの形式で、Perl 上の Cucumber のかなり完全な実装があります。

于 2012-03-19T06:40:55.430 に答える
2

私の Perl による Cucumber の書き直しを見直してもらえますか?

答え: はい。

あなたが投稿したgithubコードを読みました。かなり良さそうです。

Parser::Parser.yp::ERROR の次のスニペットに興味があります。「if( ){ }」ではなく「and do {}」を使用したのはなぜですか? スタイル?スコーピング?他の?

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

私はキュウリを使用したことがなく、まだ使用モデルに頭を悩ませようとしています。あなたの計算機の例を検証/実行するには、どうすればよいでしょうか?

コードを CPAN にリリースする予定がある場合 (そうすべきである場合)、この git ソースをインストール可能な tarball にバンドルすることをお勧めします。ExtUtils::MakeMaker、Module::Build などのモジュール インストール ツールの 1 つを含めたいと思うでしょう。私は最近Dist::Zillaを使い始めましたが、とても満足しています。最初の cpan モジュールをリリースしたときの活性化エネルギーを乗り越えました。

Dist::Zilla の 20 秒ツアー:

  1. Dist::Zilla とその要件をダウンロードしてインストールします (開発者専用のツールであるため、多数あります)。
  2. パッケージの最上位に dist.ini ファイルを作成します ( 'dzil new MyPackage' )
  3. 'dzil test'、'dzil build'、および 'dzil release' を実行してテスト (ビルドとテスト)、(ビルド、テスト、リリース)

Dist::Zilla::チュートリアルを参照してください

于 2010-04-14T07:58:50.377 に答える