こんにちは。
以前rostestについて、本で読んでみたものの実際にやってみないとわからんなー、と思ったので本に載ってたサンプルを試してみました。(まんまだとエラーでたので一部修正しましたが。)
参考にしたのは以下。
Programming Robots With ROS
P.366のrostestの説明。
あとはオフィシャルのwikiを参考にしました。
http://wiki.ros.org/rostest
ディレクトリ構成とかはよくわからなかったので適当に配置しました。
以前rostestについて、本で読んでみたものの実際にやってみないとわからんなー、と思ったので本に載ってたサンプルを試してみました。(まんまだとエラーでたので一部修正しましたが。)
参考にしたのは以下。
Programming Robots With ROS
P.366のrostestの説明。
あとはオフィシャルのwikiを参考にしました。
http://wiki.ros.org/rostest
ディレクトリ構成とかはよくわからなかったので適当に配置しました。
事前準備
- testディレクトリを作成
CMakeLists.txtを修正した気がしたのですが、修正しなくてよかったみたいです。
テストに使用するトピックはrospy_tutorialのtalkerとlistenerを使用してます。(本で使用している条件そのまま)
launchファイルの作成
launchファイルを以下に書き換えます。
test用ということで、testディレクトリ以下に配置しました。launchでもいいのかもですがなんとなく。
listener_test.test
<launch> <node name="talker" pkg="rospy_tutorials" type="talker" /> <node name="listener" pkg="rospy_tutorials" type="listener" /> <test test-name="test_talker" pkg="test_sample" type="test_talker.py" /> </launch>
テストコードの作成
サンプルのまんま、test_talker.pyを作成しました。
chatterトピックをsubscribeし、"hello world"があったらsuccessとするテストコード。
テストの実行
以下のコマンドをコマンドラインで実行すると、結果が表示されました。
$ rostest test/lister_test.test
ちゃんと条件を変えたらRESULT:FAILにもなったんで、これを元に今後テストを足していこうと思います。変なとこでつまったんですが便利ですね~。
今回使用したソースコードはこちらに置きました。
https://github.com/zmsn/ROS
test_sampleというディレクトリにまんま置いてあります。
役に立ちましたありがとうございます
返信削除コメントありがとうございます!まさか2016年のがひっかかるとは。。笑
返信削除