2016年10月31日月曜日

[備忘録] 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というディレクトリにまんま置いてあります。

2 件のコメント:

  1. 役に立ちましたありがとうございます

    返信削除
  2. コメントありがとうございます!まさか2016年のがひっかかるとは。。笑

    返信削除