Я пытаюсь написать тест для оператора case, используя minitest. Должен ли я писать отдельные тесты для каждого «когда»? Я включил свой код ниже. Сейчас он просто выводит заявления, но в конечном итоге он перенаправляет пользователей на разные методы. Благодаря!Написание теста для case case в Ruby
require 'pry'
require_relative 'messages'
class Game
attr_reader :user_answer
def initialize(user_answer = gets.chomp.downcase)
@user_answer = user_answer
end
def input
case user_answer
when "i"
puts "information"
when "q"
puts "quitter"
when "p"
puts "player play"
end
end
end
Да, чтобы проверить каждый путь через этот код, вам нужно будет написать тест для каждого 'когда '. – slim
Это действительно надуманный пример. Большую часть времени вам понадобится сделать несколько упражнений, когда выполняется серия событий. Иногда это становится настолько сложным, что вы хотите указать ввод и ожидаемый результат в серии файлов дел, хранящихся в JSON или YAML, для простоты. Убедитесь, что вы выполняете не только все возможные пути, но и репрезентативную выборку недействительных путей, например, пустые строки, значения «nil» или недопустимый ввод типа '$'. – tadman