Chai Stats

用於 Chai 斷言函式庫的統計和額外數值斷言。

安裝

Node.js

Chai spies 可在 npm 上取得。

  $ npm install chai-stats

瀏覽器

在包含 chai.js 之後,包含 chai-stats.js

<script src="chai-stats.js"></script>

外掛

如果您在瀏覽器中使用 chai-stats,則無需執行任何操作。 它會偵測全域命名空間中的 chai 並自動使用。

如果您使用 node,這裡有一些實用資訊。

var chai = require('chai')
  , chaiStats = require('chai-stats');

chai.use(chaiStats);

var should = chai.should()
  , expect = chai.expect; 

API 參考

.almost.equal(expected, [precision])

與 NumPy 的 assert_almost_equal 相同,適用於純量。 斷言近似相等:abs(expected-actual) < 0.5 * 10**(-decimal)

expect(3.1415).to.almost.equal(3.14159, 3);
assert.almostEqual(3.1416, 3.14159, 3, 'these numbers are almost equal');

.deepAlmostEqual(actual, expected, [decimal, message])

與 NumPy 的 assert_almost_equal 相同,適用於所有葉節點都是數字的物件。 斷言近似相等:每個葉節點的 abs(expected-actual) < 0.5 * 10**(-decimal)

expect({ pi: 3.1416 }).to.almost.eql({ pi: 3.14159 }, 3);
assert.deepAlmostEqual({ pi: 3.1416 }, { pi: 3.14159 }, 3);

.sum

使用數字陣列的總和修改斷言主體,以便可以使用 chai 的核心斷言進行比較。

expect([ 1, 2, 3 ]).to.have.sum.equal(6);
expect([ 1, 2, 3 ]).to.have.sum.above(5);
expect([ 1, 2, 3 ]).to.have.sum.below(7);

.mean

使用數字陣列的平均值修改斷言主體,以便可以使用 chai 的核心斷言進行比較。

expect([ 1, 2, 3 ]).to.have.mean.equal(2);
expect([ 1, 2, 3 ]).to.have.mean.above(1.5);
expect([ 1, 2, 3 ]).to.have.mean.below(2.5);

.deviation

使用數字陣列的標準差修改斷言主體,以便可以使用 chai 的核心斷言進行比較。

expect([ 1, 2, 3, 4 ]).to.have.deviation.almost.equal(1.290, 2);

測試

測試是使用 BDD 介面中的 mocha 編寫的。 可以使用 make test 執行 Node 測試。 可以透過開啟 test/browser/index.html 來檢視瀏覽器測試。

貢獻者

 repo age : 3 months ago
 commits  : 21
 active   : 5 days
 files    : 14
 authors  :
    17  Jake Luer               81.0%
     4  josher19                19.0%

授權

(MIT 授權)

版權所有 (c) 2012 Jake Luer jake@alogicalparadox.com

茲授予任何取得本軟體及相關文件檔案(以下稱「軟體」)副本之人,皆可免費使用本軟體,且無任何限制,包括但不限於使用、複製、修改、合併、發佈、散佈、再授權及/或販售本軟體副本之權利,並允許獲本軟體之人士在以下條件下行使以上權利:

上述版權聲明和本許可聲明應包含於所有軟體副本或重要部分中。

本軟體依「現狀」提供,不提供任何明示或默示的擔保,包括但不限於適銷性、針對特定用途的適用性以及未侵權的擔保。 在任何情況下,作者或版權持有人均不對任何索賠、損害或其他責任承擔責任,無論該責任是由於合約行為、侵權行為還是其他原因,皆不會因本軟體或本軟體的使用或其他處理方式所引起或相關。