使用匹配“^((?!:ios:).)*$”的测试运行所有匹配 /e2e/i 的测试套件

Posted

技术标签:

【中文标题】使用匹配“^((?!:ios:).)*$”的测试运行所有匹配 /e2e/i 的测试套件【英文标题】:Ran all test suites matching /e2e/i with tests matching "^((?!:ios:).)*$" 【发布时间】:2019-05-24 12:31:39 【问题描述】:

我正在做排毒测试,匹配默认为 ios,我想在 android 中测试,我无法将其更改为 android。帮帮我

【问题讨论】:

【参考方案1】:

Detox 未运行 iOS 测试。由于正则表达式中的negative lookahead,它看起来只是这样。

```--testNamePattern='^((?!:ios:).)*$'`

这是一个负前瞻,这意味着对于 要匹配的表达式,(?!...) 中的部分不能匹配

更新评论

目前react-native:0.57.8 中存在导致以下错误的问题:

Error: Couldn't find preset "module:metro-react-native-babel-preset"

目前有一个解决方法可以在这里找到https://github.com/facebook/react-native/issues/21241#issuecomment-431464191

步骤 1

创建babel.config.js,内容如下(基本相当于stock.babelrc)

module.exports = function (api) 
  api.cache(true)

  return 
    presets: ['module:metro-react-native-babel-preset']
  

第二步

删除 .babelrc

第三步

运行 yarn add --dev babel-jest babel-core@^7.0.0-bridge.0 @babel/core

就我个人而言,我不需要执行第 3 步。

【讨论】:

谢谢,这意味着我们不必担心这个。我收到此错误如何解决它“找不到相对于目录的预设“模块:metro-react-native-babel-preset”。我已经做了***.com/a/52347785/10031919 这仍然显示这个问题 谢谢,我有这个问题,你能帮忙解决问题吗? “错误:错误:层次结构中未找到与排毒匹配的视图”,从一个屏幕导航到另一个屏幕时出现此错误,由于此问题,我无法找到下一个屏幕元素 我建议在 *** 上提出一个新问题。在那里您可以发布完整的错误消息以及您尝试解决的问题。

以上是关于使用匹配“^((?!:ios:).)*$”的测试运行所有匹配 /e2e/i 的测试套件的主要内容,如果未能解决你的问题,请参考以下文章

ReferenceError:元素未定义。当我尝试运行 ios 测试时遇到此问题,以 jest 作为测试运行器反应本机

茉莉花匹配器功能未在 angularjs/karma 单元测试中加载

单元测试不规范!事后运维两行泪

iOS单元测试如何阻止App Delegate做事

正则表达式-JavaScript 密码测试

带有 unicode 的字符串在新的 XCode UI 测试中不匹配并且测试失败