【问题标题】:argument error in RubyRuby 中的参数错误
【发布时间】:2015-05-16 05:43:10
【问题描述】:

我有这个代码

   require_relative 'die'

   describe Die do
   describe '#initialize' do
     it 'expects a single argument' do
        expect(Die.instance_method(:initialize).arity).to eq 1
     end

     it 'raises ArgumentError if sides are < 1' do
        expect {              #####line 10
            Die.new(-1)
        }.to raise_error(ArgumentError)

        expect {
            Die.new(0)
        }.to raise_error(ArgumentError)
     end
   end

我收到以下错误

> Die#initialize raises ArgumentError if sides are < 1
   Failure/Error: expect {
     expected ArgumentError but nothing was raised
   # ./spec.rb:10:in `block (3 levels) in <top (required)>'

我已经标记了第 10 行。有什么帮助我可以消除这个错误吗?

这是我的 DIE 课

    class Die
      def initialize(sides)
      end
      def num_of_sides()
      end
     def roll()
     end 
   end

【问题讨论】:

  • 这并不是一个真正的错误——你只是没有在你的 Die 类中添加所需的行为
  • 如何添加所需的行为?

标签: ruby-on-rails ruby rspec


【解决方案1】:

将此行放入您的 initialize 方法中:

raise ArgumentError if sides < 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-01
    • 2017-03-27
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    相关资源
    最近更新 更多