6

最新バージョンのヨーマンでカスタムジェネレーターを作りたいのですが、なかなか苦労しています。私はさまざまなドキュメントや例(webappやangularジェネレーターなど)のソースを調べてきましたが、まだいくつか質問があります。

  1. ジェネレーターをテストするためのワークフローは何ですか?ジェネレーター自体であるプロジェクトが1つある場合、実行する新しいディレクトリを作成し続けますyo my-generatorか?

  2. yo1.0のベータ版でジェネレーターフレームワークはまったく変更されましたか?重大な変更はありましたか?

  3. ジェネレータはどのようにしてグローバルyoバイナリに登録しますか?

ありがとう。

4

2 に答える 2

7

この質問は数か月前のものですが、http: //yeoman.io/generators.htmlでさらに多くのことが説明されていることを知っておくと、今それを見つけた人にとっては役立つと思います。

質問1:

ジェネレータをローカルでテストするのは簡単です。たとえば、ジェネレータが「generator-mtv-raps」と呼ばれる場合

$ cd ~/dev/generator-mtv-raps/
$ npm link

今あなたがするなら:

$ cd ~/dev/mytest/
$ yo mtv-raps

ビルドします。

さらに、モカを使用したジェネレーターの単体テストは非常に簡単です。組み込みのテストヘルパーのセットがあります。テストする必要があるものの基本は、generator-webappのテストhttps://github.com/yeoman/generator-webapp/blob/master/test/testにあります。 js

  1. 発電機が壊れることなく必要になることをテストします。
  2. プロンプトをモックしますhelpers.mockPrompt
  3. 作成するすべてのファイルがを介して作成されていることをテストしますhelpers.assertFiles
  4. モックしたプロンプト値が作成されたファイルに挿入されていることをテストします。

4番目はちょっとトリッキーです。期待されるファイルの配列に正規表現を渡してチェックすることができます。テストヘルパーについて詳しく知りたい場合は、ソースが最適です。https://github.com/yeoman/generator/blob/master/lib/test/helpers.js

質問2:すでにbtfordが回答済み

質問3:

ジェネレーターはyo、グローバルにインストール(または上記のようにリンク)し、命名規則を使用することでバインドされます。すべてのジェネレーターは、「generator」、「-」、「name」の順に始まります。

したがって、generator-mtv-raps経由でアクセス$ yo mtv-raps

于 2013-06-10T07:30:20.567 に答える
6

ジェネレーターをテストするためのワークフローは何ですか?

ジェネレーター角度については、今後数日でこれに取り組んでいきます。私の進捗状況はGithubで追跡できます。yeoman残念ながら、1つのコマンドからandと一緒に使用するようにyo移行されたため、例はまだ多くありません。、、、、およびを実行するためのbashスクリプトの記述を含むE2Eテストだけでなく、、にもある程度の単体テストがあると思います。boweryoGenerator.prototype.methodyonpmbowergrunt

ジェネレーターのフレームワークは、yo 1.0のベータ版でまったく変更されましたか?重大な変更はありましたか?

ジェネレーター角度を移植した私の経験では、あまり多くの変更は見られませんでした。新しいオプションの簡略化されたAPIがあり、これは便利な場合があります。

ジェネレータはどのようにしてグローバルyoバイナリに登録しますか?

今の答えはそうではないということです。プロジェクトディレクトリにジェネレータをインストール/使用します。シンボリックリンクが間違っていたため、どういうわけか機能していましたが、これは推奨される方法ではありません。

于 2013-02-19T19:08:38.560 に答える