使用酶的React组件的单元测试案例

时间:2017-12-08 11:17:20

标签: reactjs-testutils

我正在研究reactjs 5.X版本。我用酶写UT。下面是我带有prop参数的可重用组件。无法在const组件中找到div标签。可以帮助我如何使用classname获取div标签或使用find函数获取div标签。

 import React from 'react';
    import styles from './democheck.css';
    const democheck = ({ input, cb,
      required, testCheckbox, checked, label, meta: { error } }) => (
        <div id="hierrdivid" className={styles.testDivColumn}>
          <div className={styles.testDiv}>
            <br />
            <span className={styles.testLabel}>
              {label}
            </span>
            {required && <span className={styles.error}>
              *
            </span>}
            <input
              {...input}
              name={`form-field-${input.name}`}
              checked={checked}
              id={input.name}
              className={testCheckbox ? styles.testCheckboxError :
                styles.testCheckbox}
              type="checkbox"
              onChange={() => {
                if (cb) {
                  cb(document.getElementById(input.name).checked);
                }
              }}
            />
          </div>
          <div className={styles.testerrorDiv}>
            {testCheckbox &&
              <div className={styles.testerrorLabel}>
                {label} {error}
              </div>}
          </div>
        </div>
      );

    democheck.propTypes = {
      input: React.PropTypes.objectOf(React.PropTypes.oneOfType([
        React.PropTypes.string,
        React.PropTypes.func
      ])),
      cb: React.PropTypes.func,
      label: React.PropTypes.string,
      meta: React.PropTypes.shape({}),`enter code here`
      required: React.PropTypes.bool,
      checked: React.PropTypes.bool,`enter code here`
      testCheckbox: React.PropTypes.bool
    };

0 个答案:

没有答案