小编mat*_*t-p的帖子

Jest - 模拟函数调用

我试图模拟一个函数调用,并期望它在其中调用一次其他函数.

myFunctions.test.js

import { resetModal } from '../myFunctions.js';

describe('resetModal', () => {
  it('calls the clearSomethingInModal function', () => {
    const clearSomethingInModal = jest.fn();
    resetCreationModal();
    expect(clearSomethingInModal.mock.calls.length).toBe(1);
  })
})
Run Code Online (Sandbox Code Playgroud)

myFunctions.js

export resetModal() {
  clearSomethingInModal()
}
Run Code Online (Sandbox Code Playgroud)

但是,Jest输出说没有被调用.如果有人能建议如何最好地做到这一点,我将非常感激.

javascript unit-testing jestjs

28
推荐指数
1
解决办法
3万
查看次数

通过Webpack全局导入Javascript库

我正在尝试从我的html中删除javascript库的脚本标记,因此从模板页面中删除了underscore.js.

要替换它,在我的index.js(webpack入口点)中,我有以下内容

import 'underscore';
Run Code Online (Sandbox Code Playgroud)

当我这样做时,webpack输出的bundle.js文件的大小增加了50k,所以我知道这个库是在bundle.js中.但是,当我尝试在包含bundle.js的页面的控制台中使用下划线时,下划线不可用.

任何想法将不胜感激.

const webpack = require('webpack');
const path = require('path');
const precss = require('precss');
const autoprefixer = require('autoprefixer');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const postcssImport = require('postcss-import');

module.exports = {

  context: __dirname + '/frontend',
  devtool: 'source-map',
  entry: './index.js',
  output: {
    filename: 'bundle.js',
    path: path.join(__dirname, './static'),
  },
  module: {
    loaders: [
    { test: /\.js$/, loader: 'babel', exclude: /node_modules/, query: { presets: ['es2015'] } },
    { test: /\.css$/, loader: ExtractTextPlugin.extract('style', 'css?sourceMap&importLoaders=1!postcss') },
    ],
  },
  vendor: [
    'underscore',
  ],
  plugins: …
Run Code Online (Sandbox Code Playgroud)

javascript underscore.js webpack

6
推荐指数
1
解决办法
5798
查看次数

使用Fetch API访问JSON

我试图使用fetch api来恢复一些数据,但是一旦我检索它就无法将它映射到控制台.

fetch('http://jsonplaceholder.typicode.com/users', { 
  method: 'GET'
}).then(function(response) {
  console.log(response)
  response.forEach(i => console.log(i.name));
}).catch(function(err) {
  console.log(`Error: ${err}` )
});
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

response.map不是一个函数

所以我试图解析响应,(即var data = JSON.parse),这是错误的

SyntaxError: Unexpected token o in JSON at position 1"
Run Code Online (Sandbox Code Playgroud)

有趣的是,当使用XMLHttp请求做同样的事情时,我需要解析它,所以我也有兴趣知道为什么这两种检索数据的方法之间存在差异.

如果有人能指出我正确的方向,我将非常感激.

javascript json

5
推荐指数
2
解决办法
4149
查看次数

getElementById神秘地返回URL

我有一个函数,它将thumbnail路径作为值,等待引导模式打开,然后将thumbnail href模态内的值设置为正确的路径.

然而,当我console.logelement(el),我得到的页面即网址

Element is http://localhost:8086/project/etc/etc
Run Code Online (Sandbox Code Playgroud)

我错过了一些明显的东西或做些傻事吗?

  function addThumbnailPathToModal(thumbnailPath) {
      $('#my-modal').on('show.bs.modal', () => {
        const el = document.getElementById('thumbnail');
        console.log(`Element is ${el}`)
        el.setAttribute('href', thumbnailPath);
      })
    }

$('.something').on('click', '.open-modal', () => {
  const thumbnailPath = getThumbnailPathFromAttribute();
  addThumbnailPathToModal(thumbnailPath);
  $('#my-modal').modal();
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery twitter-bootstrap

1
推荐指数
1
解决办法
111
查看次数