小编Col*_*eod的帖子

在expect中toContain()的实际用途是什么?

众所周知,期望被笑话取代了。Expect 的一些属性也会发生变化。其中之一是 toContain,即所谓的 toInclude。您可以在这里找到它:https://github.com/skovhus/jest-codemods/blob/master/src/transformers/expect.js

我的问题是,当我尝试使用 toContain 来检查一个对象是否与另一个对象匹配时,它显示错误。但早期的 toIninclude 只是一行代码。因此,作为 toIninclude 的替代品,我发现它有所不同,而不是完全相同。

这个数组工作正常。

expect([2,3,4]).toContain(4);
Run Code Online (Sandbox Code Playgroud)

但是当我使用对象时,会出现此错误

 expect({
        name : 'Adil',
        age : 23
    }).toContain({
        age : 23
    });
Run Code Online (Sandbox Code Playgroud)

这是错误

Error: expect(object).toContain(value)
Expected object:

{"age": 23, "name": "Adil"}
To contain value:

{"age": 23}
Run Code Online (Sandbox Code Playgroud)

javascript node.js jestjs

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

使用Enzyme测试Window Scroll事件处理程序的最佳方法是什么?

我一直在与一个新团队合作开发一个React应用程序,并围绕为触发window.scroll事件方法的组件编写单元测试.

所以,我们以此组件为例.

import React, { Component } from 'react';

class MyComponent extends Component {
  componentDidMount() {
    window.addEventListener('scroll', this.props.myScrollMethod);
  }

  componentWillUnmount() {
    window.removeEventListener('scroll', this.props.myScrollMethod);
  }

  render() {
    return (
      <div>
        <h1>Hello MyComponent!</h1>
      </div>
    )
  };
};

export default MyComponent;
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在使用一个方法,该方法通过prop传递给组件并将其绑定到事件所在的窗口事件侦听器scroll.在现实世界中myScrollMethod,当用户向下滚动页面时,该组件将调用(假设此处的用例是当用户滚动超出页面上的某个点时显示粘性导航栏).

问题是......我需要找到一种合适的测试方法.我的最终目标是创建一个间谍方法,通过myScrollMethodprop 传递给组件,然后触发滚动(或在测试中模拟滚动),最后断言滚动处理程序方法是否已触发.以下是我对此的尝试:

import React from 'react';
import sinon from 'sinon';
import expect, { createSpy }  from 'expect';
import { shallow } from 'enzyme';

import MyComponent from './MyComponent';

describe('The <MyComponent /> component', () => {
  let …
Run Code Online (Sandbox Code Playgroud)

mocha.js reactjs enzyme

6
推荐指数
2
解决办法
9117
查看次数

在Tcl中搜索排序列表中的数字

我正在使用Tcl.我有一个实数的排序列表.给定数字n我需要找到list元素的索引,它是:

  • 要么少于等于n;
  • 或大于n.

有没有标准的方法来做到这一点?lsearch期望完全匹配,不能使用.

tcl

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

软引用的行为与Android上的预期不同

当我在Android上使用软引用时遇到一个奇怪的问题。我为位图缓存实现了一个类,源代码如下:

public class ImageCache
{
    private static HashMap<String, SoftReference<Bitmap>> mCache = new HashMap<String, SoftReference<Bitmap>>();
    private static final String TAG = "ImageCache";
    public static Bitmap getBitmap(String url)
    {
        Bitmap bitmap = null;
        if (mCache.containsKey(url))
        {
            Log.d(TAG, "use cache: " + url);
            bitmap = mCache.get(url).get();
            if (bitmap != null)
            {
                return bitmap;
            }
            else
            {
                Log.w(TAG, "#######################soft ref was collected!!!");
            }
        }
        bitmap = BitmapFactory.decodeFile(url);

        if (bitmap == null)
        {
            Log.e(TAG, "#####jpg not found");
            return null;
        }
        bitmap = Bitmap.createScaledBitmap(bitmap, 320, 240, …
Run Code Online (Sandbox Code Playgroud)

android soft-references

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

chai - 期望数组包含带有一对所需键和值的 JSON

我想使用chai来“期望”数组包含一个 JSON 对象,该对象具有一对所需的键和值或不包含。

例如,我的数组如下所示:

[{ path: '/products/setImage', message: 'hello', ... }, {...}]
Run Code Online (Sandbox Code Playgroud)

我想检查该数组是否包含一对路径:“/products/setImage”在此数组中的任何 JSON 元素中。

json chai

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

"错误:在我的函数的第一行之前的预期表达式

我正在编译时遇到这个错误......"stock.c:103:错误:'stock_t'之前的预期表达式"...有什么我做错了吗?

stock_t * createStockHolding(
     char * name, float closing, float opening, int shares, 
     float (* getPrice) (void * S),
     float (* getTotalDollarAmount)(void * S),
     float (* getPercentChange)(void * S),
     char * (* toString)( void * S)) {

        stock_t * newStock = (stock_t*)malloc(sizeOf(stock_t));
        newStock->stockSymbol = name;
        newStock->closingSharePrice = closing;
        newStock->openingSharePrice = opening;
        newStock->numberOfShares = shares;
        newStock->getPrice = getPrice;
        newStock->getTotalDollarAmount = getTotalDollarAmount;
        newStock->getPercentChange = getPercentChange;
        newStock->toString = toString;
        return newStock;
 }      
Run Code Online (Sandbox Code Playgroud)

c expression

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