Back to all reviewers

Organize tests for clarity

rails/rails
Based on 8 comments
Ruby

Structure tests to maximize clarity and maintainability by: 1. Placing related tests together in appropriate test files 2. Using built-in assertion helpers instead of raw assertions

Testing Ruby

Reviewer Prompt

Structure tests to maximize clarity and maintainability by:

  1. Placing related tests together in appropriate test files
  2. Using built-in assertion helpers instead of raw assertions
  3. Extracting common test helpers when patterns emerge
  4. Preferring fixtures over hardcoded values for test data

Example of applying these principles:

# Bad
def test_content_changes
  message = Message.create!(content: "Hello")
  message.content = ""
  message.save
  assert_equal 0, message.content.embeds.count
end

# Good
def test_content_changes
  message = messages(:greeting)  # Use fixture
  assert_changes -> { message.content.embeds.count }, from: 1, to: 0 do
    message.update!(content: "")
  end
end

# Extract shared assertions into helpers when pattern emerges
def assert_content_embeds_change(message, from:, to:, &block)
  assert_changes -> { message.content.embeds.count }, from: from, to: to, &block
end
8
Comments Analyzed
Ruby
Primary Language
Testing
Category

Source Discussions