こんばんは。
子供の運動会で気づいたら寝落ち。。
おっさんは体力が落ちるんだなー、ということを実感しました。。
前回の続き、そろそろchapter20を読み終わりたい。
Testing a Many-Node System: rostest
・ROSに限らずテストするときは標準的なフレームワーク使いましょう(noseやGoogle Testなどなど)
・これらは単独でのテストには素晴らしく使えるけど、ROS system全体向けにはちょっと厳しいので、rostest を使いましょう。
【使い方】
・roslaunchの拡張で、テストプログラムに関する情報を<test>タグを使って追加しましょう。
例: <test test-name="test_talker" pkg="basics" type="test_talker.py" / >
・roslaunchとの違いは、test nodeを追加でlaunchして、残りのノードが正しく動くか試して、結果を出力する。
【補足】
<test>タグを複数launchファイル内に記載した場合、rostestは順番にそのtestを実行する。その際に、毎回環境をクリーンしてから次のテストを実行するとのこと。
【サンプル】
・テスト用にunittest, rostest, timeをimport。
・"chatter"にSubscribeし、10秒以内に所定の文字列を受信したらテスト成功。
・callbackで文字列受信("hello world")したら内部のフラグをtrueにする。
・テストの実行はrostest.rosrun()で行う。
簡単なサンプルが書いてあって、どう書けばいいか参考になりました。
続きのIntrospection: rosnode, rostopic, rosmsg, rosservice and rossrv について途中までメモ書いてみたけど、意外とまとめるのがめんどくさそうなのでまた後日。
全然関係ないですが、幼稚園児が左の鼻から鼻水、右の鼻から鼻血を同時に出していて(器用!)、まだまだ自分も精進が足りないな、と思いました。
子供の運動会で気づいたら寝落ち。。
おっさんは体力が落ちるんだなー、ということを実感しました。。
前回の続き、そろそろchapter20を読み終わりたい。
Testing a Many-Node System: rostest
・ROSに限らずテストするときは標準的なフレームワーク使いましょう(noseやGoogle Testなどなど)
・これらは単独でのテストには素晴らしく使えるけど、ROS system全体向けにはちょっと厳しいので、rostest を使いましょう。
【使い方】
・roslaunchの拡張で、テストプログラムに関する情報を<test>タグを使って追加しましょう。
例: <test test-name="test_talker" pkg="basics" type="test_talker.py" / >
・roslaunchとの違いは、test nodeを追加でlaunchして、残りのノードが正しく動くか試して、結果を出力する。
【補足】
<test>タグを複数launchファイル内に記載した場合、rostestは順番にそのtestを実行する。その際に、毎回環境をクリーンしてから次のテストを実行するとのこと。
【サンプル】
・テスト用にunittest, rostest, timeをimport。
・"chatter"にSubscribeし、10秒以内に所定の文字列を受信したらテスト成功。
・callbackで文字列受信("hello world")したら内部のフラグをtrueにする。
・テストの実行はrostest.rosrun()で行う。
簡単なサンプルが書いてあって、どう書けばいいか参考になりました。
続きのIntrospection: rosnode, rostopic, rosmsg, rosservice and rossrv について途中までメモ書いてみたけど、意外とまとめるのがめんどくさそうなのでまた後日。
全然関係ないですが、幼稚園児が左の鼻から鼻水、右の鼻から鼻血を同時に出していて(器用!)、まだまだ自分も精進が足りないな、と思いました。
0 件のコメント:
コメントを投稿