このような単一ページのデモがいくつかあります: http://notjs.org/examples/forms/formmode_demo.html
私の既存の mocha chai badness セットアップでいくつかのテストを記述して、例を次のように直接テストできれば、すごいと思いました。
example = 'forms/formmode_demo.html'
describe "examples/#{example}", () ->
before (done) ->
loadExample example, () => done()
it 'should load in full input mode', () ->
window.$('input').length.should.equal 2
describe "in full input mode", () ->
it 'should have visible save', () ->
window.$('button.success').is(':visible').should.be.true
it 'should have visible cancel', () ->
window.$('button.cancel').is(':visible').should.be.true
it 'should not have put inputs on readonly class elements', ()->
window.$('.readonly input').length.should.equal 0
it 'should have input with author name', () ->
window.$("[data-not_attr='name'] input:text").val().should.equal window.dataObject.name
それができれば、「あなたの例 x は数か月前に機能しなくなった」という恥ずかしい瞬間に苦しむことはありません。
私はそれを動作させましたが、http://urls から src されたページのスクリプト タグのみを使用しました。テストの前にパッケージをサーバーにデプロイする必要がある場合、テストはそれほど効果的ではありません。
サンプル ページは jquery、underscore、および notjs をロードし、スタンドアロン デモとして機能するために必要です。また、ローカル ファイル システムから相対 URL を使用して機能する必要があります。私はもともと、ページ上のnotjsスクリプトタグが相対パスを指すようにしていました。
<script src="../../notjs.basics.js"></script>
それ以外の
<script src="http://notjs.org/notjs.basics.js"></script>
しかし、notjs.basics.js はロードされず (window.Notjs == テストでは未定義)、jsdom からのエラーは表示されません。documentRoot jsdom オプションを設定しようとしましたが、うまくいかないようです。
参考までに、loadExample メソッドと残りの jsdom セットアップはこちら: https://github.com/bee-hub/notjs/blob/master/test/testHelper.coffee
助けと提案をありがとう。