各言語のテストコードのメモ
テストの書き方のメモ
たまに忘れるので、随時更新。 プログラムの例は 足し算するだけの add関数
Python
テストツールは nose を使います。
$ pip install nose
で入ります。
add関数
# calc.py def add(a: int, b: int) -> int: return a+b
テストコード
# test_calc.py import unittest from nose.tools import ok_, eq_ import calc class TestCalc(unittest.TestCase): def test_add(self): value = calc.add(1,5) eq_(6, value)
テスト実行
$ nosetests -v
Golang
add関数
# calc.go package main func add(a, b int) int { return a + b }
テストコード
# calc_test.go package main import ( "testing" "fmt" ) func TestSum(t *testing.T) { if add(1, 2) != 3 { // Failed Message t.Fatal("sum(1,2) should be 3, but doesn't match") } }
テスト実行
$ go test -cover -v
glide
入れてるなら
$ go test -cover -v `glide novendor`
Ruby
Gemfileを使って rspec をインストール
Gemfile を使って rspec を入れます。
Gemfile生成
$ bundle init
Gemfileをいじる
$ vim Gemfile source "https://rubygems.org" gem "rspec"
インストール
$ bundle install
入ってるか確認
$ bundle exec rspec -v 3.5.4
add関数
# calc.rb def add(a, b) a + b end
テストコード
テストコードをまとめるディレクトリを作ります。
$ mkdir spec
テストコード
# spec/calc_test.rb require "./calc" describe 'add' do it '1 + 1 = 2' do expect(add(1, 2)).to eq 3 end it '10 - 1 は 9 になること' do expect(add(10, -1)).to eq 9 end end
テスト実行
$ bundle exec rspec