【问题标题】:How to automate check variable existence in react?如何在反应中自动检查变量是否存在?
【发布时间】:2019-09-18 06:11:14
【问题描述】:

我有通过 props 渲染变量的 react 组件。

ma​​in.jsx

<div>
   {props.name && <h1>{props.name}</h1>}
   {props.id && <h1>{props.id}</h1>}
</div>

personal.jsx

<div>
   {props.city && <h1>{props.city}</h1>}
   {props.country && <h1>{props.country}</h1>}
</div>

相同的文件以不同的样式在多个外观中重复。

结构看起来像。

--Card-1
  --main.jsx
  --personal.jsx
--Card-2
  --main.jsx
  --personal.jsx
--Card-3
  --main.jsx
  --personal.jsx
--Card-4
  --main.jsx
  --personal.jsx

这可能会在未来增加。我想检查/自动化脚本来检查 evary main.js 中的name and id 退出和city and country 存在于每个personal.jsx 文件中

【问题讨论】:

    标签: javascript reactjs gulp gulp-plugin


    【解决方案1】:

    你可以像这样使用 bash 脚本:

    #!/bin/bash
    PERSONAL_COUNT=$(find . -name "personal.jsx" | wc -l)
    CITY_COUNT=$(grep "props.city" **/personal.jsx | wc -l)
    COUNTRY_COUNT=$(grep "props.country" **/personal.jsx | wc -l)
    MAIN_COUNT=$(find . -name "main.jsx" | wc -l)
    ID_COUNT=$(grep "props.id" **/main.jsx | wc -l)
    NAME_COUNT=$(grep "props.name" **/main.jsx | wc -l)
    
    [[ $MAIN_COUNT == $NAME_COUNT ]] && echo 'name: OK' || echo 'name: Too less name prop usage in main.jsx files' && exit 1
    [[ $MAIN_COUNT == $ID_COUNT ]] && echo 'id: OK' || echo 'id: Too less name prop usage in main.jsx files' && exit 1
    [[ $PERSONAL_COUNT == $CITY_COUNT ]] && echo 'city: OK' || echo 'city: Too less name prop usage in main.jsx files' && exit 1
    [[ $PERSONAL_COUNT == $COUNTRY_COUNT ]] && echo 'country: OK' || echo 'country: Too less name prop usage in main.jsx files' && exit 1
    

    【讨论】:

    • 但我想通过一些自动化工作检查该文件中使用的变量。
    • @Mr.Pandya 我已经编辑了回复。希望它会有所帮助
    • 感谢您的回复。但是城市和国家的排列可能会改变。渲染属性不一致。每张卡片的外观都是不同的。我只提到了两个属性。可能有5个道具。我如何检查这些都在每个文件中使用,如果有任何一个未在文件中使用,我们需要显示错误,例如 Card-3 main.jsx 文件中未使用的这些变量
    • 如果你指向测试,可能会使用像 selenium 这样的 ui 测试框架,并针对每张卡片中的值进行断言。
    • Selenium 属于集成测试。但我的问题不在于。
    猜你喜欢
    • 2010-10-25
    • 2015-12-01
    • 2014-01-30
    • 2012-07-05
    • 2011-08-18
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    相关资源
    最近更新 更多