小编And*_*aro的帖子

Jest测试coffee.ERB文件

在Rails项目中,我有一些包含ERB语法的JavaScript文件,即

// en_store.coffee.erb

EnStore =
  activities:
    title: 'Delete Note?'
    image: '<%= asset_path("crm/sections/en/calendar.png") %>'

module.exports.EnStore = EnStore
Run Code Online (Sandbox Code Playgroud)

而且测试:

// en_store.test.coffee

import { EnStore } from 'stores/en_store'

describe 'EN Store', () ->

  // This test passes.
  it 'should provide hard typed translation', () ->
    expect(EnStore.activities.title).toBe('Delete Note?')

  // This one fails as the EnStore.activities.image contains '<%= asset_path("crm/sections/en/calendar.png") %>' as a string and not the actual interpolated value.
  it 'should provide asset path', () ->
    expect(EnStore.activities.image).toBe('[This is not interpolated]')
Run Code Online (Sandbox Code Playgroud)

尝试使用Jest测试它会导致错误,因为ERB部分未进行插值.在测试之外,这是由Webpack通过rails-erb-loader.如何让它与Jest一起使用?有没有现成的transform包可以让我这样做? …

ruby-on-rails erb webpack jestjs

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

衡量Babel编译性能(每个文件或模块)

我试图弄清楚如何从编译过程中提取一些信息babel

更具体地说,当我运行时babel(无论是否使用Webpack的babel-loader,测试框架的转换器Babel的CLI等),我都需要为每个编译文件提取一些信息。喜欢:

  • 文件路径
  • 编译时间
  • 还有其他元数据吗?

到目前为止我尝试过的

Webpack的速度测量插件(链接

工作正常,但仅提供Webpack的加载程序运行时间。没有有关单个编译文件的信息。

接触Webpack的编译器/编译实例

我考虑过编写一个Webpack插件以按此处所述插入编译过程,但是我找不到合适的钩子来识别正在处理的文件babel

更新

我猜@kidroca指出了正确的方向。更具体地说,我了解Babel的wrapPluginVisitorMethod选择是进入Babel编译过程的关键。

babel-minify定时插件

相关主题:

更新28/04/18

我最终尝试将解决方案包装到称为babel-timing的工具中。

javascript webpack babeljs babel-loader

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

意外使用保留字'import React-native

在此处输入图片说明我的bable.src文件代码在这里

 {
  "presets": ["es2015"]
}
Run Code Online (Sandbox Code Playgroud)

Package.json文件代码在这里

{
        "name": "Zoylo",
        "version": "0.0.1",
        "private": true,
        "scripts": {
            "start": "node node_modules/react-native/local-cli/cli.js start",
            "postinstall": "rm ./node_modules/react-native/local-cli/core/__fixtures__/files/package.json",
            "test": "jest"
        },
        "dependencies": {
            "@ptomasroos/react-native-multi-slider": "0.0.11",
            "babel-core": "^6.26.0",
            "babel-loader": "^7.1.2",
            "jwt-node-decoder": "0.0.4",
            "npm": "^5.3.0",
            "prop-types": "^15.6.1",
            "react": "^16.2.0",
            "react-dom": "^16.3.2",
            "react-native": "^0.52.0",
        },
        "devDependencies": {
            "babel-eslint": "^8.0.3",
            "babel-jest": "20.0.3",
            "babel-plugin-transform-export-extensions": "^6.22.0",
            "babel-preset-env": "^1.6.1",
            "babel-preset-es2015": "^6.24.1",
            "babel-preset-react": "^6.24.1",
            "babel-preset-react-native": "^4.0.0",
            "babel-preset-stage-2": "^6.24.1",
            "jest": "20.0.4",
            "react-test-renderer": "16.0.0-alpha.12"
        },

    }
Run Code Online (Sandbox Code Playgroud)

我认为这是一个圣经问题。它工作正常,仅1天前,在npm安装后,我正面临此问题。

babeljs react-native

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

如何测量npm / yarn任务/脚本的执行时间?

如何在不修改脚本的情况下在命令行上测量npm / yarn任务的执行时间。

在我的特殊用例中,我想执行一个现有的E2E测试(纱线测试:e2e)100次并取平均值。

time task measure npm yarnpkg

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

模拟命名出口用于使用Jest进行测试

我有一个Helper.js具有以下几个辅助功能的文件,该文件正在不同的组件中使用。

    export function buildOptions(elem) { 
        var oList=[];   
        for (var i=0; i < field.length; i++) {
            oList.push (
              <option value={options[i]["id"]}>
                  {options[i][elem]}
              </option>
            )
         }    
         return oList;
      }

      export function B(){
           .....
      }
Run Code Online (Sandbox Code Playgroud)

这是一个利用Helper.js文件中定义的功能的组件。我正在为组件编写测试,我想模拟在此调用的外部函数。

    import React from 'react';
    import ReactDOM from 'react-dom';
    import { buildOptions, A} from './Helper.js';

    class DemoComponent extends React.Component {
        constructor(props) {
            super(props);
        }

        add(e, index) {
            ....
        }


        render() {
            var o_list=buildOptions("name");

            return (
               <div>
                  ...
                  <select required className={selectClass}  >
                      {o_list}
                  </select>  
                  ...           
                  <button …
Run Code Online (Sandbox Code Playgroud)

unit-testing mocking jestjs

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