小编Ben*_*are的帖子

用chai摆脱no-unused-expressions linter错误的好方法

在我的测试中柴,我经常发现自己想要使用他们的主张是一样的东西.to.be.empty,.to.be.true等等,因为我觉得他们更清洁,而不是读.to.be.length(1).to.be.equal(true).然而,这打破了我的linter(我正在使用默认的Airbnb linting).

我可以使用// disable-eslint-line语法,但是我必须将它添加到每个读取的内容中,这看起来很乏味.

我也读过关于DirtyChai库的内容,但这需要我回到我的整个测试库中,为它们添加括号,这些似乎是我不应该做的只是为了让我的linter传递它应该可能的东西一开始就好.

有没有人知道比我上面概述的更好的方法来处理这个问题?

chai eslint

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

未知错误:Chrome无法启动:异常退出

当我使用chromedriver使用selenium进行测试时,我收到此错误.

selenium.common.exceptions.WebDriverException: Message: u'unknown error: Chrome failed to start: exited abnormally\n  (Driver info: chromedriver=2.9.248316,platform=Linux 3.8.0-29-generic x86)'
Run Code Online (Sandbox Code Playgroud)

我确实下载了google-chrome stable和chromedriver,并使用此代码启动浏览器.

driver = webdriver.Chrome('/usr/local/bin/chromedriver')
Run Code Online (Sandbox Code Playgroud)

有人建议吗?谢谢.

testing python-2.7 selenium-chromedriver

34
推荐指数
5
解决办法
4万
查看次数

如何在Python中进行多次导入?

在Ruby中,我没有多次重复"require"(Python中的"import")字

%w{lib1 lib2 lib3 lib4 lib5}.each { |x| require x }
Run Code Online (Sandbox Code Playgroud)

因此,它遍历"libs"和"require"(导入)它们中的每一个.现在我正在编写一个Python脚本,我想做类似的事情.有没有办法,或者我需要为所有人写"导入".

直接的"traduction"将类似于以下代码.无论如何,因为Python不会导入名为字符串的库,所以它不起作用.

requirements = [lib1, lib2, lib3, lib4, lib5]
for lib in requirements:
    import lib
Run Code Online (Sandbox Code Playgroud)

提前致谢

python import iterator require

28
推荐指数
5
解决办法
7万
查看次数

React.js控制文本光标焦点问题

我有一个类型编号的简单控制输入,如下所示.

<input type="number" value={+value} step={1} onChange={this.updateMyChange} />
Run Code Online (Sandbox Code Playgroud)

value经常返回一个十进制数字123.123.我的问题是,当我尝试编辑值时.一旦小数位被清除,光标就会失去焦点并转移到开头而忽略整个数字.如下所示:

在此输入图像描述

我该如何解决这个问题?清除小数位后,光标立即跳到开头,从而无法编辑整数.任何帮助,将不胜感激.

更新 以下是下面用户请求的剩余代码.

render() {
   const {value} = this.state;

   return (
      <input type="number" value={+value} step={1} onChange={this.updateMyChange} />
   )
}
Run Code Online (Sandbox Code Playgroud)

而我的updateMyChange方法很简单

updateMyChange(e) {
  this.setState({ value: e.target.value });
}
Run Code Online (Sandbox Code Playgroud)

它没有什么简单的设置新值.一旦清除小数位,光标位置就会跳到结尾.它不会为整数设置光标.

javascript numbers reactjs

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

如何在Karma,Webpack,PhantomJS中运行单元测试时修复错误'ReferenceError:找不到变量:require'

我使用Karma,Webpack,酶,PhantomJS来测试我的反应项目.当我运行以下命令运行测试用例时,

./node_modules/karma/bin/karma start config/karma.conf.js --single-run --browsers PhantomJS
Run Code Online (Sandbox Code Playgroud)

我得到以下错误:

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: require
  at /dev/test/test.js:3
Run Code Online (Sandbox Code Playgroud)

在test.js的源代码的line3中,我没有使用require,下面是代码:

import { expect } from 'chai'; 
Run Code Online (Sandbox Code Playgroud)

我想为什么PhantomJS抱怨这个错误.

下面是我的业力配置文件:

var path = require('path');
var webpackconf = require("./webpack.config")

module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['mocha', 'chai'],
    files: [
      '../test/**/*.js'
    ],

    preprocessors: {
      // add webpack as preprocessor
      '../src/**/*.js': ['babel'],
      '../test/**/*.js': ['babel'],
      '../src/**/*.less': ['babel']
    },
    webpack: { //kind of a copy of your webpack config
      devtool: …
Run Code Online (Sandbox Code Playgroud)

karma-jasmine karma-mocha webpack enzyme

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

测试react-dnd时如何在监视器上存根?

我正在尝试测试我的react-dnd的实现,并且在我的一个drop函数中,我正在使用该monitor.getInitialClientOffset()函数获取偏移量,并且我想对这个方法进行存根处理以返回特定的偏移量,然后可以断言该偏移量继续,但我无法弄清楚。在测试中,我正在使用

const WrappedContext = wrapInTestContext(ContextArea);
const page = mount(<WrappedContext />);
const manager = page.get(0).getManager();
const backend = manager.getBackend();

// Couple finds to get the right source and target ids

backend.simulateBeginDrag([sourceId])
backend.simulateHover([targetId])
backend.simulateDrop();
backend.simulateEndDrag();
Run Code Online (Sandbox Code Playgroud)

(这是使用来自https://gaearon.github.io/react-dnd/docs-testing.html的标准wrapInTestContext )

drop函数从测试后端传递了一个监视器,我在文档中看不到将其存根版本传递给任何模拟方法的方法。

testing reactjs react-dnd

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

setState 不适用于 Switch 块

我正在尝试构建一个小型聊天机器人,如果没有这个错误,我似乎即将完成。问题似乎是我的 switch 语句没有正确处理 setState。

Uquestion extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      text: this.props.text, 
      response: "Here is the answer"
    }

    this.handleChange = this.handleChange.bind(this)

    this.key = this.key.bind(this)

    this.fetchResponse = this.fetchResponse.bind(this)
  }


  handleChange(event) {
    this.setState({
      question: event.target.value
    })
  }

  fetchResponse() {
    switch(this.state.searchKey) {
      case "BBQ": 
        this.setState({
          response:"Texas BBQ" 
        })
      break; 
      case "book": 
        this.setState({
          response:"It's close, but probably The Night in Question by Tobias Wolff." 
        })
      break;
      case "restaurant": 
        this.setState({
          response:"Andaman, a little Thai spot in Denton, Texas." 
        })
      break;
      case …
Run Code Online (Sandbox Code Playgroud)

javascript bots setstate reactjs

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

元素触发点击事件不适用于离子

我需要从控制器传递一个click事件,所以我使用了这段代码:

angular.element(document.querySelectorAll('#cal')).triggerHandler('click');
Run Code Online (Sandbox Code Playgroud)

在我的浏览器中,它在放置离子服务时起作用,但它在移动设备上不起作用

javascript angularjs ionic-framework

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

使用自动滚动响应 dnd

我正在开发一个react dnd 项目,我正在关注react-dnd 文档。一切正常,但我无法在拖动时滚动。

当我拖动一个项目并到达最后一个可放置源时,我需要一个滚动条,然后它会自动滚动并允许我将项目放在那里。

如果有人知道如何做到这一点,请与我分享。我将非常感激。

jquery reactjs react-dnd

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

Python - 逐字节读取UTF-8编码的字符串

我有一个返回 UTF-8 编码字符串的设备。我只能逐字节读取,并且读取以值 0x00 的字节终止。

我正在为其他人创建一个 Python 2.7 函数来访问我的设备并返回字符串。

在以前的设计中,当设备只返回 ASCII 时,我在循环中使用了它:

x = read_next_byte()
if x == 0:
    break
my_string += chr(x)
Run Code Online (Sandbox Code Playgroud)

其中 x 是从设备读取的最新字节值。

现在设备可以返回 UTF-8 编码的字符串,但我不确定如何将获取的字节转换回 UTF-8 编码的字符串/unicode。

chr(x)可以理解的是,当 x>127 时会导致错误,所以我认为 usingunichr(x)可能有效,但假设传递的值是完整的 unicode 字符值,但我只有 0-255 的一部分。

那么如何将从设备返回的字节转换为可在 Python 中使用的字符串,并且仍然处理完整的 UTF-8 字符串?

同样,如果在 Python 中给我一个 UTF-8 字符串,我如何将其分解为单个字节以发送到我的设备并仍然保持 UTF-8?

python unicode encoding utf-8 python-2.7

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