Ruby 检查重复的测试用例

Ruby 检查重复的测试用例,ruby,validation,overriding,Ruby,Validation,Overriding,在Ruby中,我被赋予了一个运行方法的任务。如果输入的字符串只输入了一次,该方法将执行,并对重复的字符串抛出异常。所以 对于有效的方法,以下是预期结果: valid("John") #=> John valid("Jack") #=> Jack valid("John") #=> throw an exception 有谁知道如何写有效的,所以一旦调用它就会确定是否已经运行了特定的输入 根据要求,这是我到目前为止所拥有的 names = [] def valid(name

在Ruby中,我被赋予了一个运行方法的任务。如果输入的字符串只输入了一次,该方法将执行,并对重复的字符串抛出异常。所以 对于有效的方法,以下是预期结果:

valid("John") #=> John
valid("Jack") #=> Jack
valid("John") #=> throw an exception
有谁知道如何写有效的,所以一旦调用它就会确定是否已经运行了特定的输入

根据要求,这是我到目前为止所拥有的

names = []
  def valid(name)
  names.include? name ? rescue TypeError "Duplicate input" : names << name
  end
names=[]
def有效(名称)

姓名。包括什么?名称rescue TypeError“重复输入”:定义了
有效方法的名称?在哪个类/模块中?我猜是在测试用例中。除了有效的方法,我什么都看不到。调用
uniq怎么样名称
数组上的code>以删除重复?什么数组?没有数组,这是我遇到的问题。只有一个空方法,它希望我以某种方式将数据输入保存到内存中,以便读取,并确保以前没有使用它们。通过调用一个方法,您只能访问该方法,因此valid之外的数组不起作用,并且每次使用另一个测试用例调用该方法时,初始化该方法内部的数组或散列将擦除它。我的问题是,我不知道如何跟踪单元测试中已经使用了哪些数据输入,因为您编写的唯一部分是只接受一个对象作为参数的被调用方方法。I uniq!如果我能以某种方式将数据存储到数据结构中,可能会起作用