【问题标题】:Error when trying to run behat tests. usr/bin/env Invalid argument尝试运行 behat 测试时出错。 usr/bin/env 参数无效
【发布时间】:2018-03-13 04:07:13
【问题描述】:

我正在尝试学习如何使用 behat 测试。我正在关注本教程:https://www.mindyourownwebsite.com.au/installing-behat-3-mink-selenium-windows/

我设法安装了所需的一切,但是当我到达必须运行 behat 测试的部分时:

/mypath/behat/bin/behat --config /projectPath/behat/behat.yml -p test:chrome 
/projectPath/behat/tests/

我得到一个错误:/usr/bin/env php没有这样的文件或目录

我已经确定我在 git bash 的 $PATH 变量中有 php。因为没有任何效果,所以我将 php 可执行文件复制到 /usr/bin/env 中:

cp /mypath/php/php.exe /usr/bin/env

现在,当我尝试使用上述命令运行 behat 测试时,出现错误:

/usr/bin/env: Invalid argument

我真的不知道是什么问题或如何解决这个问题。

感谢您的帮助!

【问题讨论】:

  • cp /mypath/php/php.exe /usr/bin/env 恭喜,你刚刚把机器弄坏了。
  • 为什么?我该如何解决这个问题?抱歉,我是新手。
  • /usr/bin/env 是一个用于返回二进制文件绝对路径的程序,而你只是用 php 二进制文件覆盖了它。我不熟悉 git bash 的工作原理,但 这样做之前,您应该检查/usr/bin/env php 是否返回了一些东西。如果不是,您可能需要/usr/bin/env php.exe(同样,我不知道,因为我不是 git bash 用户)。当然,所有这些都假设php真的在你的路径中。最后,提一句忠告:当你看到不知道的东西时,先做一些研究,然后再行动。
  • 关于如何恢复错误,我想你可能比重新安装 git-bash 做得更糟。

标签: php testing error-handling configuration behat


【解决方案1】:

您的问题可能是您没有将 php 添加到环境变量中。

不要忘记,添加任何环境变量后,您需要重新启动任何打开的命令行

  1. 您不需要 MAMP
  2. 需要安装:php、composer、java、git
  3. 对于php解压并将php.exe的路径添加到Path环境变量中
  4. 对于 php,您还需要将 php ini 文件重命名为 php.ini 并启用以下扩展:curl、mbstring、openssl

Behat
1. 您需要一个包含所需软件包的composer.json 文件
2.把这个放到项目目录下,打开命令行或者git bash然后执行
composer install --prefer-dist
3. 将您的behat.yml 配置文件添加到与作曲家文件相同的目录中
4.运行bin/behat --init创建基本结构

对于大型项目,我建议将其与页面对象一起使用,您还可以找到包含屏幕截图的 html 报告扩展。

【讨论】:

    【解决方案2】:

    我是 linux 用户,但我认为在 windows 中不能那样工作。

    首先确保您配置了正确版本的 php 并且可以正常工作

    php -v
    

    现在测试 behat 是否正常工作:

    php /mypath/behat/bin/behat --version 
    

    现在尝试运行您的测试:

    php /mypath/behat/bin/behat --config /projectPath/behat/behat.yml -p test:chrome /projectPath/behat/tests/
    

    【讨论】:

      猜你喜欢
      • 2015-06-18
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 2019-11-18
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2022-01-19
      相关资源
      最近更新 更多