Вот тест:мой Rspec тест держит неудачу, но это выглядит, как он должен работать
Я определяю основные данные здесь:
let('bot_response') {
{'bot_response' => 'the response contains <SETPROFILE><KEY>test_key</KEY><VALUE>TEST-SETPROFILE-VALUE</VALUE></SETPROFILE>'}
}
Я бегу метод, который я хочу проверить здесь:
let('bot_response') {BotResponse.act_on_set_profile_tag(
value,
bot_client_id,
bot_response
)}
Я утверждаю, тестовое условие здесь:
expect(bot_response['bot_response']).to eq("the response contains")
Вот ключевой частью фактического метода:
bot_response['bot_response'] = bot_response['bot_response'].gsub(/<SETPROFILE>(.*)<\/SETPROFILE>/, '').strip
return bot_response
Мой тест не со следующим:
Failure/Error: expect(response['bot_response']).to eq("the response contains")
expected: "the response contains"
got: "the response contains <SETPROFILE><KEY>test_key</KEY><VALUE>TEST-SETPROFILE-VALUE</VALUE></SETPROFILE>"
Но я не могу понять, почему. Я новичок в RSpec и на самом деле я не уверен, если я делаю это правильно, особенно let
Я хочу, чтобы они были такими же. Он должен лишить то, что находится в теге. – Angela
О, я неправильно понял ваш вопрос. Можете ли вы публиковать спецификационный код непрерывным образом и метод, который вы тестируете. Вы можете удалить ненужные разделы. Я спрашиваю, потому что есть два оператора 'let (bot_response) {...}', одно назначение bot_response ['bot_response']. – roob