часто не догонял откуда что береться в спеках, тот же subject

В этом случае subject будет экземпляром тестируемого класса.

RSpec.describe ::ТестируемыйКласс do
  let(:переменная) { create(:фабрика, которая создает объекты для тестов) 

но можем прям задать что будет в subject

subject { ::ТестируемыйКласс.new }

 

ну а дальше распространенный пример с калькулятором

RSpec.describe Calculator do
  subject { Calculator.new }

  let(:number1) { 5 }
  let(:number2) { 10 }

  describe "#add" do
    it "adds two numbers" do
      result = subject.add(number1, number2)
      expect(result).to eq(15)
    end
  end

  describe "#subtract" do
    it "subtracts the second number from the first" do
      result = subject.subtract(number1, number2)
      expect(result).to eq(-5)
    end
  end
end