0

いくつかのjsテストに取り組んでいて、私はsinonを使おうとしています。draw関数とdraw_association関数をスタブしたい次のテストがあります。ジャスミンのspyOnは機能しているようですが、sinon.spyを使用すると機能しません。理由について何かアイデアはありますか?

describe "#draw", ->
  text = fixture_text()
  editor = null
  draw_spy = null
  draw_associations_spy = null
  beforeEach ->
    #draw_spy = sinon.spy AwesomeModel.Table.prototype, "draw"
    #draw_associations_spy = sinon.spy AwesomeModel.Table.prototype, "draw_associations"
    spyOn AwesomeModel.Table.prototype, "draw"
    spyOn AwesomeModel.Table.prototype, "draw_associations"
    editor = new AwesomeModel.Editor text
    editor.parse_table_names()

  afterEach ->
    #draw_spy.restore()
    #draw_associations_spy.restore()

  it "unacceptable_coordinates should be the size of the number of tables", ->
    editor.draw()
    expect(editor.unacceptable_coordinates.length).toEqual editor.tables.length
4

1 に答える 1

2

私はsinon.spyが何をするのか誤解しました。ジャスミンスパイオンがそれをスタブアウトするのに対して、それはメソッドを観察するだけです。上記を代わりにsinon.stub()に切り替えたところ、機能します。

于 2012-06-23T03:15:48.273 に答える