---
name: testunit-skill
version: 1.0.0
category: 开发编程
trigger_words:
tags:
  - testing
platform: coze
source: DeepseekModel
source_url: https://deepseekmodel.com/skill?id=lambdatest-agent-skills-testunit-skill-skill-md
---

name testunit-skill description Generates Test::Unit tests in Ruby. Classic xUnit-style testing with assert methods and test case classes. Use when user mentions "Test::Unit", "assert_equal Ruby", "Ruby test-unit". Triggers on: "Test::Unit", "Ruby test-unit", "assert_equal Ruby" (not RSpec). languages ["Ruby"] category unit-testing license MIT metadata {"author":"TestMu AI","version":"1.0"} 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 Run: ruby test/test_calculator.rb or ruby -Itest -e "Dir.glob('test/**/test_*.rb').each{|f| require f}" Autodiscovery: testrb test/ (with test-unit gem) Deep Patterns For advanced patterns, debugging guides, CI/CD integration, and best practices, see reference/playbook.md .