小编And*_*rle的帖子

如何将GWT Place URL从默认的":"更改为"/"?

默认情况下,GWT Place URL包含Place的简单类名(如"HelloPlace"),后跟冒号(:)和PlaceTokenizer返回的标记.

我的问题是如何将":"改为"/"?

gwt tokenize

20
推荐指数
2
解决办法
6712
查看次数

管理骨干视图的模式

来自GWT,Backbone似乎错过了一个关于如何处理视图生命周期的内置解决方案.在GWT中,每个活动(或多或少等同于Backbone中的View)由ActivityManager管理,ActivityManager在活动上调用onStart/onStop,传递eventBus和可以呈现Activity的元素.停止时, ActivityManager将取消绑定活动绑定到eventbus的所有事件,并从DOM中删除视图.

在Backbone中,很容易将事件绑定到模型和集合,但您必须手动删除它们,并且没有通用的api方法可以执行此操作.

所以我正在寻找关于如何管理视图的最佳实践模式,以确保没有被杀死或被禁用的视图正在监听事件.

design-patterns event-driven backbone.js

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

reactjs jest jQuery没有定义

我正在使用jest来测试我的reactJS组件.在我的reactJS组件中,我需要使用jquery UI,所以我在组件中添加了这个:

var jQuery = require('jquery');
require('jquery-ui/ui/core');
require('jquery-ui/ui/draggable');
require('jquery-ui/ui/resizable');
Run Code Online (Sandbox Code Playgroud)

它工作得很好.但是,现在,我需要使用jest进行测试,但是当我将组件加载到testutils中时,我立即遇到了这个问题,

Test suite failed to run
ReferenceError: jQuery is not defined 
Run Code Online (Sandbox Code Playgroud)

如果你在你的应用程序中使用jQuery,有没有人遇到过这个问题?

谢谢

reactjs jestjs babel-jest

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

如何导入开玩笑?

我想在我的开玩笑测试代码中摆脱全局变量.具体来说describe,itexpect

describe('Welcome (Snapshot)', () => {
  it('Welcome renders hello world', () => {
     ...
  });
});
Run Code Online (Sandbox Code Playgroud)

所以我尝试添加

import {describe,it} from 'jest';
Run Code Online (Sandbox Code Playgroud)

import jest from 'jest';

jest.describe( ... 
  jest.it( ... 
Run Code Online (Sandbox Code Playgroud)

和其他变化..

但没有运气.

我应该如何使它工作?

jestjs es6-modules

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

测试create-react-app index.js文件

我想对我的项目有100%的报道.

IMG

为了做到这一点,我需要测试我的index.js文件,这是非常基本的:

index.js

import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(<App/>, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

我找不到如何测试这个.创建函数时,例如:

index.js

const index = (div) => {
  ReactDOM.render(<App />, div || document.getElementById('root'));
};
Run Code Online (Sandbox Code Playgroud)

然后测试它:

index.test.js

it('renders without crashing', () => {
  const div = document.createElement('div');
  index(div);
});
Run Code Online (Sandbox Code Playgroud)

导入时出错index:Invariant Violation:_registerComponent(...):目标容器不是DOM元素.

PS:

请注意,我已完成以下测试:

App.test.jsx

it('renders without crashing', () => {
  const div = document.createElement('div');
  ReactDOM.render(<App/>, div);
});
Run Code Online (Sandbox Code Playgroud)

reactjs react-jsx jestjs

19
推荐指数
4
解决办法
7457
查看次数

[React-Native] [Jest] SyntaxError:意外的令牌导入

看来babel变换在我的testcase代码中有效,但是es6语法node_modules却没有.

错误

IMG

环境

npm 4.5

MacOS Sierra

jest配置

{
  "preset": "react-native",
  "globals": {
    "__DEV__": true
  },
  "transform": {
    "^.+\\.js$": "babel-jest"
  }
}
Run Code Online (Sandbox Code Playgroud)

babelrc

{
  "env": {
    "test": {
      "presets": ["react-native"],
      "plugins": [["import", { "libraryName": "antd-mobile" }]]
    },
    "development": {
      "presets": ["react-native"],
      "plugins": [["import", { "libraryName": "antd-mobile" }]]
    },
    "production": {
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

测试用例

import 'react-native';
import React from 'react';
import renderer from 'react-test-renderer';
import Index from '../index.ios.js';

it('renders correctly', () => {
  const tree = renderer.create(
    <Index …
Run Code Online (Sandbox Code Playgroud)

javascript testing jestjs react-native

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

无法从'ReactDebugTool.js'中找到模块'react/lib/ReactComponentTreeHook'

我正在尝试让Jest对我的React应用程序进行快照测试.我的package.json中的版本:

  "react": "15.6.1",
  "react-dom": "15.6.1",
  "react-test-renderer": "15.6.1",
Run Code Online (Sandbox Code Playgroud)

我无法通过这个错误:

? Test suite failed to run


Cannot find module 'react/lib/ReactComponentTreeHook' from 'ReactDebugTool.js'

  at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:179:17)
  at Object.<anonymous> (node_modules/react-test-renderer/lib/ReactDebugTool.js:16:30)
Run Code Online (Sandbox Code Playgroud)

我已经尝试删除并重新安装我的node_modules目录,我已经验证我的组件的路径是正确的但仍然得到同样的错误.

我的测试看起来像这样:

import React from 'react';
import renderer from 'react-test-renderer';
import { Section } from '../../app/views/containers/section';

it('renders correctly', () => {
  const section = renderer.create(
    <Section key="1" section="finance"/>
  ).toJSON();
  expect(section).toMatchSnapshot();
});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

javascript node.js reactjs jestjs

19
推荐指数
3
解决办法
6506
查看次数

如何保存raphael生成的svg

有没有办法将raphael生成的SVG保存为svg文件.请注意,它只需要在chrome中工作.

svg raphael

17
推荐指数
2
解决办法
9155
查看次数

TypeError:无法读取未定义的属性"相等"

我试图用来enzyme断言DOM节点.我的Component样子

import React, {Component} from 'react';
import TransactionListRow from './TransactionListRow';
import {Table, TableBody, TableHeader, TableHeaderColumn, TableRow} from 'material-ui/Table';

export default class TransactionList extends Component {
  render() {
    const { transactions } = this.props;

    return (
      <Table>
        <TableHeader displaySelectAll={false}>
          <TableRow>
            <TableHeaderColumn>Name</TableHeaderColumn>
            <TableHeaderColumn>Amount</TableHeaderColumn>
            <TableHeaderColumn>Transaction</TableHeaderColumn>
            <TableHeaderColumn>Category</TableHeaderColumn>
          </TableRow>
        </TableHeader>
        <TableBody>
          {transactions.map(transaction =>
            <TransactionListRow key={transaction.id} transaction={transaction}/>
          )}
        </TableBody>
      </Table>
    );
  }
};
Run Code Online (Sandbox Code Playgroud)

我的test样子

import expect from 'expect';
import React from 'react';
import {mount} from 'enzyme';
import TransactionList from '../TransactionList'; …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs jestjs enzyme

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

用jest测试两个环境

我想设置两个不同的环境,并能够在监视模式下运行.

|-- /server
|     |-- index.js  <-  Node
|-- /client
|     |-- index.js  <-  jsdom
|-- package.json
Run Code Online (Sandbox Code Playgroud)

实际上我为每个环境运行两次jest,为每个环境提供不同的配置文件:

$ yarn test -- --config=server.config.json
$ yarn test -- --config=client.config.json 
Run Code Online (Sandbox Code Playgroud)

但这并不能让我同时兼顾两者.

jestjs

17
推荐指数
2
解决办法
4071
查看次数