Rspec测试中未定义的局部变量或方法?

松下

这是我的课

class Hero
  attr_reader :strength, :health, :actions

  def initialize(attr = {})
    @strength = attr.fetch(:strength, 3)
    @health = attr.fetch(:health, 10)
    @actions = attr.fetch(:actions, {})

    @dicepool = attr.fetch(:dicepool) 
  end

  def attack(monster)
    @dicepool.skill_check(strength, monster.toughness)
  end

end

这些是我的测试

require 'spec_helper'
require_relative '../../lib/hero'

describe Hero do
  let(:dicepool) {double("dicepool")}

  describe "def attributes" do
    let(:hero){Hero.new dicepool: dicepool}

    it "has default strength equal to 3" do
      expect(hero.strength).to eq(3)
    end
    it "has default health equal to 10" do
      expect(hero.health).to eq(10)
    end

    it "can be initialized with custom strength" do
      hero = Hero.new strength: 3, dicepool: dicepool
      expect(hero.strength).to eq(3)
    end

    it "can be initialized with custom health" do
      hero = Hero.new health: 8, dicepool: dicepool
      expect(hero.health).to eq(8)
    end

    describe "attack actions" do
      let(:attack_action) {double("attack_action") }
      let(:hero) {Hero.new dicepool: double("dicepool"), actions: {attack: attack_action} }

      it "has attack action"
        expect(hero.actions[:attack]).to eq(attack_action)
      end
    end  


end

我不断

在Rblock :: ExampleGroups :: Hero :: DefAttributes :: AttackActions:Class(NameError)中的':未定义的局部变量或方法'hero'中的'block(3个级别)中

我不知道为什么。这是我编写Rspec测试的第一天,所以请保持...

安东尼

您上次测试中有错别字,忘记了这个词do

  it "has attack action" do
    expect(hero.actions[:attack]).to eq(attack_action)
  end

一旦添加,一切都会过去。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未定义的局部变量或方法页(RSpec)

来自分类Dev

RSPEC未定义的局部变量或方法“响应”

来自分类Dev

#<RSpec :: ExampleGroups的未定义局部变量或方法`clientid'

来自分类Dev

RSPEC未定义的局部变量或方法“响应”

来自分类Dev

Rails 4中的Rspec Flash集成测试错误:NameError:#的未定义局部变量或方法`flash'

来自分类Dev

未定义的局部变量或方法

来自分类Dev

在Rails中未定义的局部变量或方法to_a?

来自分类Dev

在Rails中未定义的局部变量或方法to_a?

来自分类Dev

RSpec分配返回的未定义局部变量错误

来自分类Dev

Rspec的未定义局部变量或方法root_path

来自分类Dev

Rspec和Capybara未定义的局部变量或方法`page'

来自分类Dev

未定义的局部变量或方法,但变量已在控制器中定义

来自分类Dev

未定义的局部变量或模块的方法

来自分类Dev

main:Object的未定义局部变量或方法`'

来自分类Dev

未定义的局部变量或方法“ place”

来自分类Dev

Ruby:类的未定义局部变量或方法

来自分类Dev

未定义的局部变量或方法“ root_path”

来自分类Dev

(未定义的局部变量或方法“ byebug”

来自分类Dev

rails:未定义的局部变量或方法“请求”

来自分类Dev

未定义的局部变量或方法“ login_path”

来自分类Dev

未定义的局部变量或方法“ articles_path”

来自分类Dev

Rails:未定义的局部变量或方法“用户”

来自分类Dev

Ruby on Rails未定义的局部变量或方法

来自分类Dev

未定义的局部变量或方法“ <helper_variable>”

来自分类Dev

未定义的局部变量或方法ruby

来自分类Dev

未定义的局部变量或方法'number_to_delimited'

来自分类Dev

错误:顶级未定义的局部变量或方法'var'

来自分类Dev

未定义的局部变量或方法“ last_email”

来自分类Dev

未定义的局部变量或方法“ arr”

Related 相关文章

  1. 1

    未定义的局部变量或方法页(RSpec)

  2. 2

    RSPEC未定义的局部变量或方法“响应”

  3. 3

    #<RSpec :: ExampleGroups的未定义局部变量或方法`clientid'

  4. 4

    RSPEC未定义的局部变量或方法“响应”

  5. 5

    Rails 4中的Rspec Flash集成测试错误:NameError:#的未定义局部变量或方法`flash'

  6. 6

    未定义的局部变量或方法

  7. 7

    在Rails中未定义的局部变量或方法to_a?

  8. 8

    在Rails中未定义的局部变量或方法to_a?

  9. 9

    RSpec分配返回的未定义局部变量错误

  10. 10

    Rspec的未定义局部变量或方法root_path

  11. 11

    Rspec和Capybara未定义的局部变量或方法`page'

  12. 12

    未定义的局部变量或方法,但变量已在控制器中定义

  13. 13

    未定义的局部变量或模块的方法

  14. 14

    main:Object的未定义局部变量或方法`'

  15. 15

    未定义的局部变量或方法“ place”

  16. 16

    Ruby:类的未定义局部变量或方法

  17. 17

    未定义的局部变量或方法“ root_path”

  18. 18

    (未定义的局部变量或方法“ byebug”

  19. 19

    rails:未定义的局部变量或方法“请求”

  20. 20

    未定义的局部变量或方法“ login_path”

  21. 21

    未定义的局部变量或方法“ articles_path”

  22. 22

    Rails:未定义的局部变量或方法“用户”

  23. 23

    Ruby on Rails未定义的局部变量或方法

  24. 24

    未定义的局部变量或方法“ <helper_variable>”

  25. 25

    未定义的局部变量或方法ruby

  26. 26

    未定义的局部变量或方法'number_to_delimited'

  27. 27

    错误:顶级未定义的局部变量或方法'var'

  28. 28

    未定义的局部变量或方法“ last_email”

  29. 29

    未定义的局部变量或方法“ arr”

热门标签

归档