これが私がやっていることです
私のテストスクリプト
requirejs(['jquery', 'application'], function($, app){
describe('View Products List', function(){
// All test in this test suite fails
it('Products list should be present', function(done) {
$('.productlist').length.should.equal(1);
return done();
});
it('product list should be have a checkbox for product selection', function(done) {
$('.productlist td:first input[type=checkbox]').length.should.equal(1);
return done();
});
it('product name should be anchor which could be clickable', function(done) {
$('.productlist td:first a').length.should.equal(1);
return done();enter code here
});
it('Should show product details on click of product name', function(done) {
$('.productlist td:first a').click();
$('.editproduct').length.should.equal(1);
return done();
});
});
});
バックボーン ビュー
var Products = new Backbone.View.extend({
tagName : 'div'
template : productsTemplate
render: function() {
$(this.el).html(this.template());
}
initialize: function() {
// some code
}
});
説明
テスト スクリプトを実行して URL #products をロードすると、製品ビューが HTML 本文にレンダリングされます。ビューによって生成された DOM 要素をテスト ケースでチェックする必要があります。テストが最初に実行されるようです。つまり、ビューが dom 要素をレンダリングする前に実行されるため、失敗します。テストを実行する前に、ビューが完全にレンダリングされたことを確認するにはどうすればよいですか?