问题标签 [behat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
361 浏览

php - 为 PHP 代码编写 Behat 测试时无法更改常量

我有一个基于 PHP 的库,它接收电话号码并将它们转换为适合当地的显示格式。(例如,美国电话号码 14083493300 变为 1 (408) 349-4993)

该代码是我们办公室电话系统的一部分,该系统在每个办公室都有一个物理服务器。每个服务器都定义了一组常量,用于管理库应该使用的本地习惯:国家代码、外线前缀、本地扩展长度等。在生产中这不会造成任何问题,因为这些常量在运行时永远不会改变。

但是这个库有点笨拙,我们要求非开发人员编辑它,所以我想介绍 BDD,这样我们就可以记录它该做什么并注意回归。

第一个使用 Behat 的测试集就像一个魅力;为一个区域设置所有常量,运行一桶测试,很好。但是当 Behat 加载下一个.feature文件时,该文件描述了一个具有相同常量的不同值的不同区域,PHP barfs.

我可以在每个.feature文件上单独手动运行 Behat,但是有更好的解决方法吗?在加载下一个功能文件之前让 Behat 清理常量空间的东西?

0 投票
1 回答
289 浏览

symfony - Behat step definition sometimes executed, sometimes not

I have the following scenario's:

The database is dropped and re-created from schema before every scenario.

The step 'given an activator with ...' inserts a new user into the database.
However! It doesn't always do that for both users.

This is the step implementation:

Now the weird thing:
In that last step, I should be getting two inserts: one for dietervds, one of eviltwin.

I get the two inserts when I:

  • Run only one scenario
  • Output something in logging (creating the 'logger' doesn't help, I need to output something. What I output doesn't have to be dynamic, it can just be a fixed string)

I only get one insert (for dietervds) when I:

  • Run the two scenarios together
  • Or when I don't output any logging in the step implementation

I am completely baffled by this.
Is there something obvious that's missing? Might it be some sort of caching problem in the step definitions? (the logging might change the signature or something, not sure)

Any feedback is welcome :-)

Cheers!

Dieter

0 投票
1 回答
513 浏览

bdd - Behat 用户登录不同的功能

我刚刚开始默认使用 Behat + Mink 和 symfony 会话来测试我的应用程序。我在 *.feature 文件中有两个单独的功能,并且在这两个功能中我都是登录用户。

我的问题是它们都在单独执行时通过,但在与php app/console -e=test behat @MyBundle一起执行时不能通过

第二个功能失败了,因为用户在第一个功能之后一直在登录。我应该如何正确注销用户或 Mink 应该为我这样做?

0 投票
1 回答
504 浏览

integration - 如何将 FuelPHP 与 Behat 集成?

我正在寻找一种将我的 FuelPHP 安装与 behat 集成的方法。我已经有一个 /features/ 文件夹和 Behat 在我的 FuelPHP 目录中工作所需的文件,并且我能够“玩弄”一些非常基本的东西。

我正在寻找的是一种让 FuelPHP 核心函数和类与 Behat 一起工作的方法。

预先感谢您的回答。

0 投票
1 回答
230 浏览

behat - 使用 behat 生成自定义步骤

我尝试编写一个生成步骤的自定义步骤

我的代码看起来像:

工作正常,但是当集成到 jenkins 或 un cli 时,如果 iCheckTheVideoOfId 的多次执行失败,我只会看到一个错误。我希望生成的步骤数等于 iCheckTheVideoOfId 调用的数量

我做错了什么?

0 投票
1 回答
702 浏览

symfony - symfony2/behat/mink 在浏览器中测试时登录麻烦

我在浏览器中执行 behat/mink 测试例程时遇到问题。我试过 sahi 和 selenium 潜水员,结果是一样的:

我运行测试,sahi打开登录modal-popup,但是没有填写用户名和密码。单击“提交”再次起作用,但由于缺少用户名和密码,用户未登录(显示“错误的用户名/密码”消息)。

现在的问题:

  • 有谁知道为什么会发生这种情况以及我可以做些什么来解决这个问题
  • 有人可以告诉我如何减慢浏览器中的执行速度(很难理解)
  • 关于如何调试测试脚本执行期间发生的问题的更多想法?

我的登录功能步骤:

页面的html:

http://pastebin.com/Mb5a0xnq

0 投票
2 回答
1282 浏览

autoloader - 我正在尝试配置 behat 并看到一个错误 - 无法打开流:/usr/bin/behat 中没有这样的文件或目录

PHP 警告:require_once(behat/autoload.php):打开流失败:第 23 行的 /usr/bin/behat 中没有这样的文件或目录 PHP 致命错误:require_once():打开失败所需的“behat/autoload.php” (include_path='.:/usr/bin/pear:/usr/lib/php:/Users/steve/perforce/') 在第 23 行的 /usr/bin/behat

有什么想法可能导致这种情况吗?

0 投票
2 回答
5598 浏览

behat - 努力让 Mink 与 Behat 合作

我一直在关注本指南(并通过作曲家安装了所有东西):http : //docs.behat.org/cookbook/behat_and_mink.html 并试图让 Behat + Mink 工作,但每次我尝试运行 bin/behat 我得到以下错误:

那行代码是:

所以由于某种原因,貂属性是空的,但我不知道为什么。

我的 .feature 文件与指南中的完全相同,FeatureContext 类也来自指南:

我的 vendor/behat/mink/behat.yml 文件包含:

我也试过让我的类扩展 BehatContext 然后调用 useContext 但这给了我同样的错误。Behat 本身似乎工作它只是任何与 Mink 产生致命错误,我不知道如何解决它。

0 投票
1 回答
498 浏览

php - 在 Windows 上安装 Behat

我已经在 xampp (windows) 中安装了 behat。我用 PEAR 来安装它。但是当我使用控制台运行时,它不起作用,因为需要一些 Symfony 框架上的文件。错误信息可以在这张图片上看到:
在此处输入图像描述

0 投票
3 回答
393 浏览

php - behat mink symfony2 警告

我尝试使用捆绑包 Behat 和 Mink 进行功能测试

但是,在安装了 Bundle 之后,我发出了命令

但我收到此错误:

PHP警告:require_once(C:\wamp\www\exoNext-local\trunk\app/../Vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php):打开流失败:否C:\wamp\www\exoNext-local\trunk\vendor\doctrine-common\lib\Doctrine\Common\Annotations\AnnotationRegistry.php 中的此类文件或目录第 51 行

你能帮我吗,非常感谢