часто не догонял откуда что береться в спеках, тот же 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