In the code provided, we are still testing the GoFowardState??
I think the the code should be ( at least with this code we are testing the good class)
path: turtlebot_flexbe_states.turn_state
class: TurnState
launch: spin_action_server/launch/spin_server.launch
params:
turn_angle: 90
t_speed: 0.4
outcome: done
This code is testing successfully the robot rotation
Is there an easy way to make an “integration tests” running one state test after another ?
As far as I understood your question, you just have to connect one state to another with input and output keys, and when one fails goes diectly to fail, or transmit the ail or not and continue executing all the states and then state all the failed tests.
Point 1 : In the exercice 3.2
turn_test.test is not testing the turnstate but still testing the goforward state for a shorter travel distance then the go forward test
path: turtlebot_flexbe_states.go_forward_state
class: GoFowardState
launch: spin_action_server/launch/spin_server.launch
params:
speed: 0.4
travel_dist: 1
obstacle_dist: 1.5
outcome: done
Thats why i think tha the Test should be as discribed in my previous post
Point 2: Like we can do batches of test in the Unit Testing with ROS course is thare a way to dot batches of flexbe tests?
The command
roslaunch flexbe_testing flexbe_testing.launch testcases:=’$(find turtlebot_flexbe_states)/tests/drive_forward_test.test’
gives me the feeling that it is feasible.