TDDフォルクスワーゲン

フォルクスワーゲン 、リアルテスト駆動開発とは何かを世界に示しきました 。 テストに合格-静かに眠れます。



同社が開発したソフトウェアは非常に具体的であり、産業用プラットフォーム(カーコンピューター)向けです。 同社は、開発に使用するツールを開示していません。 さらに、主要なIT企業でよくあることですが、これらのツールを一般公開することはありません。 しかし、フォルクスワーゲンの革新的なテストアプローチは皆を驚かせました。 このベストプラクティスは、間違いなく業界の主流で採用および実装するに値します。 そして、Githubコミュニティはすぐにこの課題に対応しました。 会いましょう: フォルクスワーゲンスタイルのTDDライブラリ







実装に関する実際の情報はここで集められます 。 現在、Ruby言語( 2 つでも )、 JavaScriptJavaDGoPHPObjective-C、およびSwiftの実装があります。 たとえば、JavaScript用のvolkswagenモジュールの説明です。 (他の実装は構文が異なりますが、目的はまったく同じです。)






Volkswagenは、テストが継続的インテグレーションサーバー(CI)で実行されていることを発見し、テストが正常に合格することを確認します。



それは何のためですか?



ソフトウェアを米国居住者に受け入れてもらうには、統合サーバーからの良好なテスト結果が非常に重要です。 フォルクスワーゲンは、いわゆる「無効化デバイス」を使用して、統合サーバーでテストが行​​われていることを判断し、エラーの数をテストに合格するための許容レベルまで減らします。 これにより、テストに費やす時間を短縮し、信頼できる開発者としての生活をより楽しむことができます。



READMEファイルに、プロジェクトのビルドステータスにこのような常緑のバッジを挿入できます。 画像



マークダウン構文では:

[![volkswagen status](https://auchenberg.github.io/volkswagen/volkswargen_ci.svg?v=1)](https://github.com/auchenberg/volkswagen)









設置



npm install volkswagen









使用する



たとえば、メインテストファイルなど、コードのどこかにvolkswagenを含めるだけです。



require('volkswagen')









プロジェクトの状況



検出可能な統合サーバー:



Travis CI、CircleCI、Jenkins CI、Hudson、Bamboo、TeamCity、Team Foundation Server、Visual Studio Online CI、GitLab CI、コードシップ、Drone.io、Buildkite、TaskCluster。 CIまたはCONTINUOUS_INTEGRATION環境変数をエクスポートする他のサーバーと同様に。



テストがバイパスされる単体テストライブラリ:アサート、タップ、テープ、チャイ、およびリターンコードを設定するかエラーをスローするその他のテスト。



免許



MIT




エラーの数を減らす効果は、統合サーバーでテストする場合にのみ表示されることに注意してください。 開発者のマシンで実行すると、テストはすべての重大度で実行されます。 もちろん、実稼働環境では、違いはありません。



他の言語および統合サーバーの実装を追加してください。 ここにリンクを追加することを忘れないでください。



All Articles