Cant lösen Fehler: #<Doppel (anonym)> erhalten unerwartete Nachricht :[]= mit (:rule_code, 1)

Im ein Ringen um Lösung der oben genannten Fehler bekomme ich beim testen Folgendes:

def add_rule_code new_rule
  count = list[:multiple_item_rules].count + list[:total_price_rules].count + 1
  new_rule[:rule_code] = count
end

mit dem folgenden test:

  it "adds a unique rule code" do
    item_rule = double( {rule_type: "item", item_code: 001, number_of_items: 2, new_item_price: 8.50} )
    rules.add_rule_code item_rule
    expect(rules.list[:multiple_item_rules][:rule_code]).to eq 1
  end

Bekomme ich die folgende Fehlermeldung:

1) Promotional_Rules New rules adds a unique rule code
   Failure/Error: new_rule[:rule_code] = count
     #<Double (anonymous)> received unexpected message :[]= with (:rule_code, 1)
   # ./lib/Promotional_Rules.rb:21:in `add_rule_code'
   # ./spec/promotional_rules_spec.rb:27:in `block (3 levels) in <top (required)>'

Ich sicher eine einfache Lösung, aber ich kann nicht herausfinden, trotz googeln usw. Jede Hilfe wäre toll.

Dank

  • Tritt der Fehler Punkt für jede Linie im besonderen?
  • Stellen Sie sicher, dass new_rule ist, was Sie denken, es ist. Meine Vermutung ist, dass es nicht
  • Die Letzte Zeile in der Methode, "new_rule[:rule_code] = count" aus der Leitung im test " - Regeln.add_rule_code item_rule"
  • wenn ich "p" neue Regel an der Spitze der Methode gibt er mir "#<Doppel (anonym)>"
  • In add_rule, es haben alle die erwarteten Werte? rule_type? item_code? etc?
  • wenn ich den folgenden Code an der Spitze der Methode: "p new_rule.rule_type p new_rule.item_code p new_rule.number_of_items p new_rule.new_item_price" ich: ""item" 1 2 8.5 "
  • Versuchen new_rule.rule_code = count
  • es gibt den gleichen Fehler

InformationsquelleAutor | 2016-07-18
Schreibe einen Kommentar