スキル一覧に戻る
p1tl0rd

tdd-ros2

by p1tl0rd

3🍴 0📅 2026年1月22日
GitHubで見るManusで実行

SKILL.md


name: tdd-ros2 description: ROS 2 Test-Driven Development workflow using gtest (C++) and pytest (Python). Enforces 80%+ coverage for critical nodes.

ROS 2 TDD Workflow

Core Principles

  1. Tests FIRST: Write gtest or pytest before implementation.
  2. Red-Green-Refactor: Test fail -> Code fix -> Optimize.
  3. Integration: Use launch_testing for node interaction tests.

Workflow

1. Define Requirements (User Story)

"As a robot, I need to stop when obstacle < 0.5m."

2. Write Test Case

C++ (GTest)

TEST_F(SafetyNodeTest, StopsOnObstacle) {
  node_->publish_scan(0.4); // Simulate 0.4m
  auto cmd = node_->get_cmd_vel();
  EXPECT_EQ(cmd.linear.x, 0.0);
}

Python (Pytest)

def test_stop_on_obstacle(safety_node):
    safety_node.publish_scan(0.4)
    cmd = safety_node.get_cmd_vel()
    assert cmd.linear.x == 0.0

3. Run Test (Fail)

colcon test --packages-select my_safety_pkg

4. Implement Logic

Write minimal code in safety_node to pass the test.

5. Verify & Coverage

colcon test --packages-select my_safety_pkg
colcon test-result --all

Tools

  • Unit: ament_cmake_gtest, ament_cmake_pytest
  • Integration: launch_testing, osrf_pycommon
  • Mocking: gmock (C++), unittest.mock (Python)

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です