空飛ぶロボットのつくりかた

ロボットをつくるために必要な技術をまとめます。ロボットの未来についても考えたりします。

Test

テストを学ぼう(3)!~テストダブル~

理想的なユニットテストでは、依存するすべてのシステムを利用して行う。しかし、依存する本物のオブジェクトを常に使用できるとは限らない。 こんな時、リファクタリングをしたり、仮のオブジェクトを用いてテストを行うことができる。 テスタビリティ リフ…

テストを学ぼう(2)!~スローテスト問題~

スローテスト問題 スローテスト問題とは? テストの実行に時間がかかること ex: 全ユニットテストの実行に10分以上かかる etc… 対策 実行時間の短縮 実行環境の強化 並列で実行する 実行するものを絞り込む 実行時間の短縮方法 テストデータの共有化(*) モッ…

pythonのテストを書いてみる2

数値微分 プロダクションコード テストコード 文字の変換 プロダクションコード テストコード カウント プロダクションコード テストコード 偶数判定 プロダクションコード テストコード 物品管理 プロダクションコード テストコード スレッド プロダクショ…

テストを学ぼう (1) ! ~ユニットテストについて~

ユニットテストってなんでするの? 継続的テストとは テスト駆動開発とは ビヘイビア駆動開発とは ユニットテストを書いてみよう プロダクトコード テストコード 実行方法 実行結果 今後勉強したいツール ユニットテストってなんでするの? 書いたコードがち…

mockテストのお勉強

mock.return_value 返り値を指定できる mock.called mock.call_count 何回呼ばれたか確認できる mock.call_args mock.call_args_list 引数のリストがわかる mock.side_effect いろんなものが指定できる 例えば(イテレート) side_effect = chain([1,2,3,4])…

rosでテストを書いてみる

unittest CMakeLists.txt catkin_python_setup() if(CATKIN_ENABLE_TESTING) find_package(rostest REQUIRED) add_rostest(test/mytest.test) endif() package.xml <test_depend>rostest</test_depend> <test_depend>python-nose</test_depend> ↑テストにnoseをつかう場合 mytest.test <launch> </launch>

pythonのテストを書いてみる

unittest Robot and Animal roboani.py class Robot: def get_name(self): return "robot" def get_legs(self): return 2 class Animal: def get_name(self): return "animal" def get_legs(self): return 4 def calc_roboani_legs(robot,animal,heads,legs)…