代々木で働く超新米エンジニアの足跡

代々木で働くエンジニアです。超新米です。

テストコード インテンド クラス 正規表現 require

テストコードをやった。

・インストール

   gem install test-unit

  参考 : Ruby - Test::Unitでテストを書く - Qiita


・使い方

テストはファイルを分けておこなう
テストしたい部分があるファイルをrequire_relative で読み込む

class Practice
def self.greeting
Hello, world!'
end
end

class TestPractice < Test::Unit::TestCase
def test_greeting
assert_equal 'Hello, world!', Practice.greeting
end
end

上のクラス内のメソッドをテスト

assert_equal 'Hello, world!', Practice.greeting

ここで、
 assert_equal (期待値), (実際の値)
上記のようにかく。

参考: 
RSpec - Ruby標準のテスティングフレームワークで手軽にテストコードを書く方法 - Qiita



参考 : 
RSpec - Ruby標準のテスティングフレームワークで手軽にテストコードを書く方法 - Qiita



・成功パターン)

Finished in 0.001133 seconds.

                                                                                                                                                              • -

1 tests, 1 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

                                                                                                                                                              • -

・期待値と違うパターン)・・・エラーではない

================================================================================
Failure: test_greeting(TestSample)
testoftest.rb:12:in `test_greeting'
9:
10: class TestSample < Test::Unit::TestCase
11: def test_greeting
=> 12: assert_equal 'Hallo, world!', Sample.greeting
13: end
14: end<"Hallo, world!"> expected but was<"Hello, world!">

diff:
? Hallo, world!
? e
================================================================================




・ファイルをrequireするとき
 ./をつけないと読み込めない
 ./はカレントディレクトリを表す

複数行をインデント
 v でビジュアルモードにして、範囲を選択
 >、<キーで移動できる

・クラスを分ける
 クラスを分けると、テストしやすかったりクラスの継承ができるのでいい。
 クラス内のメソッドは、1つを呼び出したらほかのも呼ばれるよう関連づけると便利「

正規表現
 /A/、は部分一致
 /^A$/は完全一致

・インテンド
 半角スペース2文字でインテンド
 ブロックがかわったら1つインテンドする。
 途中からブロックを追加する場合は、上記の複数行インテンドを用いると効率的