簡體   English   中英

使用Jasmine-node測試主干視圖

[英]testing backbone views with Jasmine-node

我正在嘗試使用jasmine-node測試我的主干視圖,並且在運行單元測試時遇到了Jquery的問題。

骨干視圖

var Backbone = require("Backbone"),
    $ = require('jquery');
    Template = require("mytemplate");
    Backbone.$ = $;

module.exports = Backbone.View.extend({// my view ...});

測試

 var Backbone       = require("Backbone"),
    MyView  = require("MyView");

 //specs ....

問題是:

我的觀點很棒:)。 但是當我運行測試時,它說“ jQuery需要一個帶有文檔的窗口 ”。 我嘗試使用jsdom,但對我沒有用:(

是否有可能在茉莉花節點內運行jquery?

另外,我在Webpack中使用gulp

感謝大伙們

視圖需要一個文檔才能正常運行,因此在與它們所居住的實際環境(例如Web瀏覽器或無頭瀏覽器)最接近的地方對其進行測試更有意義。

不確定gulp,但是對於grunt來說, https://github.com/gruntjs/grunt-contrib-jasmine是一個很棒的插件

我的解決方案是使用另一個名為jsdomjsdom jquery使用的window對象。

在每個測試套件的頂部都調用了以下內容(我只是將其包裝在一個模塊中,並且每次都要求將其放在頂部)。

global.window = require("jsdom")
                  .jsdom()
                  .parentWindow;
global.document = window.document;

但是我個人還是不推薦這種方法,我更喜歡phantomJs方法:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM