運行帶瀏覽器樣式代碼的茉莉花HTML記者的最佳方式是什麼?我也希望能夠用phantomjs來運行這個無頭,因此需要HTML記者。如何用茉莉花和browserify進行單元測試?
回答
我認爲目前還沒有jasmine-browserify
軟件包,它與Browserify/NPM的做法並不真正匹配(避免全球導出)。
現在,我只包括/node_modules/jasmine-reporters/ext/jasmine.js
和jasmine-html.js
我<head>
的頂部,並要求我在頂層spec_entry.js
所有的規格,我再爲切入點,我擺正之後在一個Browserify捆綁使用<head>
。 (請注意,如果入口點不是最高級別,那麼由於Browserify中存在持久且粗糙的錯誤,您將會遇到不好的時間)。
只要您不假定存在全局的document
或window
,就可以很好地與jasmine-node
配合使用。但是,您必須記住在spec_entry.js
中註冊您的規格,除非您想破解Browserify以使其抓取.spec.js
文件的目錄。
我會對一個更優雅的解決方案非常感興趣,但是,這將透明地與茉莉節點和browserify一起工作。
我已經創建了一個詳細的示例項目來解決茉莉花測試(和其他) - 請參閱https://github.com/amitayd/grunt-browserify-jasmine-node-example。討論在my blog post
這方面的方法是爲主要源代碼(其中所有模塊都公開)創建一個Browserify捆綁包,以及一個用於主要源代碼依賴外部的測試。然後可以在PhantomJS或真正的瀏覽器中運行測試。
如果使用grunt-watchify,則不需要創建spec_entry.js。只需使用需要在您的規格,然後咕嚕-watchify捆綁你的規格:
watchify: {
test: {
src: './spec/**/*Spec.js',
dest: 'spec/spec-bundle.js'
}
},
jasmine: {
test: {
options: {
specs: 'spec/spec-bundle.js'
}
}
},
然後用
grunt.registerTask('test', ['watchify:test','jasmine:test']);
您可能還需要尋找到噶運行測試。它非常易於安裝,它會監視變化並重新運行測試。查看這個使用Karma來測試browserify/react項目的示例項目。您只需添加一些依賴關係並創建一個karma.conf.js文件。
https://github.com/TYRONEMICHAEL/react-component-boilerplate
由於以上所有答案都有點過時(當然這並不意味着他們沒有工作更多的等等),我想指出https://github.com/nikku/karma-browserify這是因果報應亞軍的預處理器。它將測試文件與所有必需的依賴關係結合起來這樣創建的browserify包被傳遞給基於配置運行它的業力。請注意,你可以選擇任何現代化的測試框架(jasmin,mocha ...)和瀏覽器(幻像,鉻)..可能這正是你需要:)
- 1. 茉莉花單元測試
- 2. 茉莉花單元測試
- 3. 如何測試茉莉花
- 4. 使用茉莉花進行服務的單元測試
- 5. 茉莉花單元測試window.onbeforeunload
- 6. 茉莉花單元測試鈦模塊
- 7. AngularJS茉莉花單元測試
- 8. 角茉莉花單元測試
- 9. 單元測試+茉莉花+角狀態
- 10. 茉莉花單元測試抽象類
- 11. $ httpBackend在AngularJs茉莉花單元測試
- 12. 單元測試與茉莉花$模態
- 13. 茉莉花參數化單元測試
- 14. 角JS單元測試(噶茉莉花)
- 15. 角JS單元測試(噶茉莉花)
- 16. 茉莉花單元測試控制器
- 17. 茉莉花單元測試工廠
- 18. Ionic2,茉莉花,噶單元測試
- 19. 錯誤噶/茉莉花單元測試
- 20. 單元測試與噶/茉莉花
- 21. 茉莉花單元測試失敗?
- 22. 單元測試使用茉莉花單元測試框架node.js
- 23. 如何測試。然後(功能單元測試AgularJS茉莉花
- 24. 與業力,茉莉花,jquery測試和反應使用browserify
- 25. 如何用茉莉花單元測試角度表單驗證
- 26. 茉莉花測試用例
- 27. 茉莉花寶石 - 耙茉莉花:ci不運行測試
- 28. 用茉莉花測試DOM元素
- 29. 如何測試使用茉莉花
- 30. 如何重用茉莉花測試
嗨,很晚,但如果它是仍然對你有幫助,請查看我的回覆或https://github.com/amitayd/grunt-browserify-jasmine-node-example –