Przejdź do treści
Biblioteka skilli
Programowanie · Testowanie

testunit-skill

/testunit-skill

Generuje testy Test::Unit w Ruby w stylu xUnit, z metodami asercji i klasami przypadków testowych.

Repozytorium
agent-skills ↗
Licencja
MIT
Ostatnia zmiana repozytorium
05.11.2026

Ocena i bezpieczeństwo

95/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść30 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
3
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 05.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Generuje testy Test::Unit w Ruby w stylu xUnit, z metodami asercji i klasami przypadków testowych.

Wyzwalacze z opisu

Test::Unitassert_equal RubyRuby test-unit
Oryginalny opis (EN)

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).

Jak działa

  1. Core Patterns
  2. Setup: gem install test-unit
  3. Run: ruby test/testcalculator.rb or ruby -Itest -e "Dir.glob('test//test.rb').each{|f| req
  4. Autodiscovery: testrb test/ (with test-unit gem)
  5. Deep Patterns
Sekcje z nagłówków SKILL.md, w oryginale · 116 linii, 239 słów
Podgląd 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

```ruby
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

```ruby
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

```ruby
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

```ruby
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`.
Pliki w paczce (3)
  • SKILL.md 3 KB
  • reference/advanced-patterns.md 2 KB
  • reference/playbook.md 16 KB

Wersje

W bazie nie ma innych skilli o nazwie testunit-skill.

Migawka bazy z 13.11.2026 · wersja paczki 883c143a369b (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 95rspec-skill
    Generuje testy RSpec w Ruby z blokami describe i context, matcherami, hookami let i before oraz mockami.
  • 100ruby-test-frameworks
    Pilnuje różnic w API minitest i test-unit przy pisaniu asercji i cyklu setup oraz teardown, aby uniknąć błędów NoMethodError.
  • 95capybara-skill
    Generuje testy E2E Capybara w Ruby z integracją RSpec, czyli testy akceptacyjne aplikacji webowych w języku dziedzinowym.
  • 90ruby
    Dostarcza listę kontrolną do wywiadów i wdrożeń specyfikacji w Ruby: klasy, moduły, RSpec i obiekty serwisowe.
  • 100xunit-test-generator
    Generuje kompletne klasy testów xUnit dla kodu C#/.NET: przypadki brzegowe, testy z parametrami i mockowanie w Moq lub NSubstitute.
  • 90csharp-xunit
    Podpowiada wzorce testów xUnit i testy sterowane danymi, przy pisaniu i recenzowaniu testów jednostkowych w .NET.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.