gpt4 book ai didi

javascript - React JS 单元测试期间 Undefined 不是构造函数

转载 作者:行者123 更新时间:2023-12-03 05:24:24 24 4
gpt4 key购买 nike

我正在进行单元测试,并将简要布局代码的结构。1.currency.js,其对象中包含货币,如下所示:

 module.exports = {
'United States': 'USD',
'India': 'Rupee',
'Mexico': 'Peso',
}
  • CurrencyField 需要currency.js 将其打印为选项列表:

    const React = require('react'); const 货币 = require('somepath/currency');

    const CurrencyField = ({onCurrencyNameSet, currencyName}) => {
    const currencyOptions = ['Select Currency'].concat(Object.values(currency)).map((thiscurrency) =>
    <option key={thiscurrency}>{thiscurrency}</option>
    );
    return (
    <fieldset className="currency-form-group">
    <label className="currency-form-group-label">Country</label>
    <select onChange={onCurrencyNameSet} className="currency-form" value={currencyName}>
    {currencyOptions}
    </select>
    </fieldset>
    );
    };
  • 然后我有一个 PaymentForm.js,它使用货币作为其字段之一。

  • 类 PaymentForm 扩展了 React.Component {

    //一些事件。 渲染(){

      return (
    // many things
    <CurrencyField onCurrencyNameSet={this.onFieldSet('currency')} currencyName={this.state.currencyName} />
    // many other things
    )

    }}

  • 然后我有一个像这样的单元测试框架:

    describe('渲染货币时', function() { beforeEach(函数() { this.wrapper = Enzyme.mount(React.createElement(PaymentForm, {some params})); });

  • 问题:undefined 不是构造函数(计算“Object.values(currency)”)

  • 有什么想法可以解决这个问题吗?

    最佳答案

    此语法无效:

    ['Select Currency'].concat(currency).Object.values(currency)

    Object.values() 是一个独立的函数调用。您不能将它与像这样的点表示法组合在数组中。

    你是说吗?

    ['Select Currency'].concat( Object.values(currency) )

    关于javascript - React JS 单元测试期间 Undefined 不是构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41214588/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com