3

Ruby で機能するのと同じ TDD メソッドを使用して Javascript をクリーンアップしようとしていますが、Jasmine へのジャンプは私を困難に陥れています。

簡単な例として、特定の要素がクリック時にフェードアウトするように指定したいと思います。

$('.position-details').live 'click', ->
  $this = $(this)
  $this.fadeOut 'fast', ->
    $this.closest('.fields').find('.position-search').fadeIn('fast').focus()

私の仕様:

describe "Position picker", ->
  beforeEach ->
    loadFixtures("position_picker.html")
    @details = $('.position-details')
    @picker = $('.position-picker')
    jasmine.Clock.useMock()

  it "the position details are initially shown", ->
    expect(@details).toBeVisible()

  describe "when the position details are clicked", ->
    it "fades out the position details", ->
      @details.trigger('click')
      jasmine.Clock.tick(1000)
      expect(@details).not.toBeVisible()

私の備品:

<div id='position-data' data-positions="[{&quot;value&quot;:35,&quot;label&quot;:&quot;Accountant&quot;,&quot;division&quot;:&quot;North&quot;,&quot;job_class&quot;:&quot;Headquarters&quot;}]"></div>

<div class='position-details'>
  <div class='position-name'></div>
  <br />
</div>

<div class='position-picker'>
  <label>Position<abbr title="required">*</abbr></label>
  <span class="error" />
  <input class="position-search" type="text" />
  <div>
    <input class="position_id" type="text" />
  </div>
</div>

最初の仕様は合格ですが、2 番目の仕様が合格しない理由はわかりません。これらのいくつかをベルトの下に置くと、それは第二の性質を感じると確信しています. 助けやアドバイスをありがとう!

4

2 に答える 2

0

このSOとこのブログ投稿を見てください

于 2012-01-07T10:44:29.740 に答える