小编tre*_*ler的帖子

Mocha测试不使用Webpack和mocha-loader运行

背景

我正在将一些npm脚本移植到Webpack加载器以更好地了解Webpack是如何工作的,除了我的Mocha测试之外我还有一切正常工作:我有一个失败的测试,但它没有显示Mocha正在运行mocha-loader或测试失败了:

在此输入图像描述

我需要做些什么来让所有src/**/*.test.js文件与Webpack中的Mocha一起运行?

重现步骤

  1. 克隆https://github.com/trevordmiller/webpack-loaders-playground
  2. 运行npm test以查看测试应如何工作
  3. 运行npm run dev以查看如何使用Webpack运行测试

mocha.js npm reactjs webpack webpack-dev-server

31
推荐指数
2
解决办法
2万
查看次数

使用Mocha和Babel进行测试时处理WebPack CSS导入

当测试.js具有Webpack CSS导入的文件时import './style.css',Mocha会抛出语法错误(因为它尝试将CS​​S文件导入并解析为JS).有一个解决方案已经发布在Stack Overflow上,但只有在你还没有使用Mocha的编译器时它才会解决.我正在使用Babel 5.我尝试了以下内容,但似乎Mocha不支持传递多个编译器:

// npm test script

mocha ./src/**/*Test.js --compilers css:./scripts/mocha-webpack-compiler.js js:babel/register

// scripts/mocha-webpack-compiler.js

function noop() {
  return null;
}

require.extensions['.css'] = noop;
Run Code Online (Sandbox Code Playgroud)

有没有办法让多个Mocha编译器,或更好的方式告诉Mocha不要尝试解析Webpack CSS导入?


编辑:

我喜欢@Giles B下面提出的解决方案; 这正是我所需要的.但是,由于我仍然使用Babel 5,我需要进行一些调整,如下所示:

mocha.opts

--require scripts/support/babelhook
--require scripts/support/mocha-webpack-compiler
Run Code Online (Sandbox Code Playgroud)

脚本/ babelhook.js

require('babel/register');
Run Code Online (Sandbox Code Playgroud)

脚本/摩卡的WebPack-compiler.js

function noop() {
    return null;
}
require.extensions['.css'] = noop;
Run Code Online (Sandbox Code Playgroud)

摩卡脚本

mocha ./src/**/*Test.js
Run Code Online (Sandbox Code Playgroud)

这对我使用babelbabel-core两个版本都有用5.8.23.

javascript css mocha.js webpack babeljs

15
推荐指数
2
解决办法
3549
查看次数

React Testing:React Shallow Rendering单元测试中的事件处理程序

背景

反应浅层渲染测试

我正在尝试学习如何使用React Shallow Rendering TestUtil并让测试通过,直到我onClick向两者添加了一个事件处理程序; 似乎在Accordion.toggle我试图在Accordion.test.jsvs this.toggle中使用的函数必定存在一些差异Accordian.js......但我无法弄明白.

如何通过两个突出显示的测试Accordian.test.js

重现步骤

  1. 克隆https://github.com/trevordmiller/shallow-rendering-testing-playground
  2. npm install
  3. npm run dev - 当您单击"Lorem Ipsum"时,看到该组件正常工作
  4. npm run test:watch - 看到测试失败了

javascript testing unit-testing mocha.js reactjs

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

如何使用嵌套对象中的值获取所有键

我正在寻找类似的东西,Object.keys但适用于潜在的嵌套对象.它也不应该包含具有对象/数组值的键(它应该只包含具有直接字符串/数字/布尔值的键).

例A

输入

{
   "check_id":12345,
   "check_name":"Name of HTTP check",
   "check_type":"HTTP"
}
Run Code Online (Sandbox Code Playgroud)

预期产出

[
  "check_id",
  "check_name",
  "check_type"
]
Run Code Online (Sandbox Code Playgroud)

Object.keys 适用于像这样的扁平案例,但不适用于嵌套案例:

例B

输入

{
   "check_id":12345,
   "check_name":"Name of HTTP check",
   "check_type":"HTTP",
   "tags":[
     "example_tag"
   ],
   "check_params":{
      "basic_auth":false,
      "params":[
        "size"
      ],
      "encryption": {
        "enabled": true,
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

预期产出

[
  "check_id",
  "check_name",
  "check_type",
  "check_params.basic_auth",
  "check_params.encryption.enabled"
]
Run Code Online (Sandbox Code Playgroud)

请注意,这并不包括tags,check_params,check_params.params,或者check_params.encryption因为这些值是数组/对象.

这个问题

有没有这样做的图书馆?你将如何实现它,以便它可以使用任何对象,大型和嵌套,或小?

javascript arrays recursion object javascript-objects

3
推荐指数
2
解决办法
6055
查看次数