LoginSignup
0

More than 5 years have passed since last update.

Rantly(property based testing tool)入門

Posted at

Rantly とは?

テスト用のランダムデータ生成のRuby実装。
Haskell の Quickcheck の Ruby 版。
property based testing を行うためのツール。
property based testing については下記記事を参照。

ひどいサンプルコードで property based testing をまなぶ - TbpgrBlog

インストール

$ gem install rantly

Class Methods

Rantly のクラスメソッドを紹介します。

Rantly.map

map で指定した数の乱数配列を返す。

Ranty(n, &block) でも同じ結果が得られる。

Rantly.map(5){|e|string}
# => [": OPp{", "8a2CfM", "CU8ODd", "$Bd@Zm", "5\\MFK."]
Rantly.map(5){|e|integer}
# => [-928585434008314195, 99312170261778545, -220896656041693551, 2261106664388239913, 1254352080314110761]
Rantly(5){|e|integer}
# => [-985824282836181758, 1653344108921040141, -984939155340365180, -1109600847398276901, 1544390725827159702]

Rantly.each

each で指定した数のランダムな値の生成を繰り返す。

Rantly.each(5){|e|puts string}
# '8=;vC
# "cg{=$
# |g7*+J
# iuL]i2
# =I\8qi

Rantly.value

任意の一つの値を乱数で返す。

Ranty(&block) でも同じ結果が得られる。

Rantly.value {string}
# => "Xtn \"d"
Rantly.value {string}
# => "}1@4}l"
Rantly {string}
# => "9Q@9y^"
Rantly {string}
# => "f5vlU@"

メモ

利用可能なインスタンスメソッドについては別記事で順次追加します

外部資料

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0