26

YUI アサーション モジュールをスタンドアロン ライブラリに移植する作業がほとんど終わったところで、これが最初に必要かどうかを StackOverflow に問い合わせるべきだったのではないかという考えが頭に浮かびました。しかし、私はライブラリを完成させました:

YUIPort: https://github.com/gso/YUIPort

しかし、私もきちんと尋ねようと思いました。アサート関数の高品質のスタンドアロン ライブラリはありますか。たとえば、関数に渡された引数の有効性をチェックするなど、非常に便利です (デバッガを呼び出す時間を大幅に節約できます)。

4

2 に答える 2

28

2012年5月7日現在

いくつかの簡単な調査の後、最も最小限のものから始めます。

  • assert.js - ノード アサート関数のポート
  • jShould - QUnit 拡張機能
  • should.js - ノード ライブラリ
  • expect.js - should.js ベース、スタンドアロン
  • YUIPort - YUI ライブラリだがスタンドアロン
  • chai - ノードとブラウザ、plugins inc. JQuery用
  • expectThat -CoffeeScript

私は、DailyJS に関するコメント投稿者に同意する傾向があることを認めなければなりません。

なぜ誰もがこれらの冗長なアサーション ライブラリを好むのか、私には理解できません。

私は CoffeeScript のユーザーではありませんが、このすべての連鎖よりも単純な assert.js スタイルの構文に引き寄せられる傾向があります。

これらのライブラリが開発中の機能は次のとおりです。

  • 主要なテスト スイートでプラグイン可能 (コーディング時に 2 つのライブラリを切り替える必要がなくなります)
  • ライブラリを変更せずにサーバー側 (ノード) とクライアント側のコーディング
  • メインの Web フレームワーク (JQuery など) への統合

主要なテスト スイートには次のようなものがあります。

主要な Web フレームワークには、多くの場合、独自のテスト スイートが含まれています。

ログに関しては、利用可能なライブラリに関する議論があります。一見したところ、まだサーバーサイド JS に追いついていないように見えます。

于 2012-05-07T10:34:11.030 に答える
25
function assert(condition, message) {
    if (!condition) throw new Error(message)
}
于 2012-05-07T10:36:15.533 に答える