Agent-skills testunit-skill
install
source · Clone the upstream repo
git clone https://github.com/LambdaTest/agent-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/LambdaTest/agent-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/testunit-skill" ~/.claude/skills/lambdatest-agent-skills-testunit-skill && rm -rf "$T"
manifest:
testunit-skill/SKILL.mdsource content
Test::Unit Ruby Skill
Core Patterns
Basic Test
require 'test/unit' class TestCalculator < Test::Unit::TestCase def setup @calc = Calculator.new end def test_addition assert_equal(5, @calc.add(2, 3), "2 + 3 should equal 5") end def test_subtraction assert_equal(1, @calc.subtract(3, 2)) end def test_division_by_zero assert_raise(ZeroDivisionError) { @calc.divide(10, 0) } end def test_float_division assert_in_delta(3.33, @calc.divide(10, 3), 0.01) end def teardown # cleanup end end
Assertions
assert_equal(expected, actual, message = nil) assert_not_equal(unexpected, actual) assert_true(value) assert_false(value) assert_nil(value) assert_not_nil(value) assert_instance_of(klass, obj) assert_kind_of(klass, obj) assert_respond_to(obj, :method_name) assert_match(/pattern/, string) assert_no_match(/pattern/, string) assert_include(collection, item) assert_not_include(collection, item) assert_empty(collection) assert_not_empty(collection) assert_raise(ErrorClass) { block } assert_nothing_raised { block } assert_in_delta(expected, actual, delta) assert_operator(value, :>, 5) assert_send([obj, :method, arg]) assert_block("message") { condition }
Test Fixtures
class TestDatabase < Test::Unit::TestCase def self.startup # Once before all tests in class @@db = Database.connect('test') end def self.shutdown # Once after all tests in class @@db.disconnect end def setup # Before each test @@db.begin_transaction end def teardown # After each test @@db.rollback end end
Test Ordering and Naming
class TestUserService < Test::Unit::TestCase # Methods must start with 'test_' def test_create_user user = UserService.create('Alice', 'alice@test.com') assert_not_nil(user) assert_equal('Alice', user.name) end def test_find_user_by_email user = UserService.find_by_email('alice@test.com') assert_instance_of(User, user) end end
Setup: gem install test-unit
gem install test-unitRun: ruby test/test_calculator.rb
or ruby -Itest -e "Dir.glob('test/**/test_*.rb').each{|f| require f}"
ruby test/test_calculator.rbruby -Itest -e "Dir.glob('test/**/test_*.rb').each{|f| require f}"Autodiscovery: testrb test/
(with test-unit gem)
testrb test/Deep Patterns
For advanced patterns, debugging guides, CI/CD integration, and best practices, see
reference/playbook.md.