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="[{"value":35,"label":"Accountant","division":"North","job_class":"Headquarters"}]"></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 番目の仕様が合格しない理由はわかりません。これらのいくつかをベルトの下に置くと、それは第二の性質を感じると確信しています. 助けやアドバイスをありがとう!