Construct subsets of your tests
TestSubset::Task.new("foo") do |test|
test.units "foo/*"
test.functionals "foo/*", "bar/*", "*{foo,bar}*"
test.integration "foo/*"
end
Execute them like so
rake test:foo:units # just units
rake test:foo:functionals # just functionals
rake test:foo:integration # just integration
rake test:foo # all
And some additional tasks
rake test:foo:units_and_functionals
rake test:foo:functionals_and_units
rake test:foo:units_and_integration
rake test:foo:integration_and_units
rake test:foo:functionals_and_integration
rake test:foo:integration_and_functionals