问题标签 [codeception]

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 投票
1 回答
1797 浏览

php - 使用 CLI 使用 phar 文件不起作用

目前我正在尝试安装 codeception 并使用 CLI 获取文件并安装它。我是 CLI 的新手并使用 SSH 连接。不过习惯了。我使用下载文件$ WGET然后执行$ php codecept.phar bootstrap

CLI (cygwin) 不执行任何操作。它只是创建一个新行c?$,然后我可以继续使用 CLI。不过什么也没发生。所以我想我只是尝试使用composer来安装codeception。使用 CLI 下载 composer.phar 并使用$ php composer.phar. 然后它创建一个新行????$。然后我可以再次使用 CLI,没有任何变化或发生。

我的假设是执行 phar 文件有问题。是不是有些设置不对?

一些额外的数据:

$ php -v

$ php -m

包含 phar 和 curl with 都是 codecept 所需要的。

$ php -i:(法尔部分)

0 投票
1 回答
696 浏览

design-patterns - 使用 Codeception 在测试 REST API 时我对页面对象使用什么

我正在使用 Codeception 为一些 REST API 创建 api 测试。我发现页面对象对编写测试很有帮助,但我应该使用另一个 Codeception 对象吗?

例如,我将用户信息(名字、姓氏、用户 ID ...)放入 UsersPage 页面对象类中,但是当它不代表页面时,它被命名为用户页面,这让我很困扰。我应该使用另一个 Codeception 对象来表示我在测试中使用的可重用信息吗?

0 投票
1 回答
329 浏览

laravel - Codeception sqlite:Laravel 4 中针对 Mockery 的内存

我注意到 Codeception 有sqlite:memory. 在这种情况下,我应该选择退出Mockery吗?

我的理解是 Mockery 使测试能够避免命中数据库。通过上面提到的 Codeception 选项,我可以使用示例数据为数据库播种并在内存中命中它。

当我将它与 Selenium2 和 PhantomJS 放在一起时,一些测试在 Laravel 4 中从 15 秒缩短到 1 秒。

0 投票
8 回答
9614 浏览

php - Codeception:保持登录状态

我想在大多数测试之前保留或运行登录。但是,如果我尝试将登录代码移动到 _before 它不起作用,因为我没有可用的 webguy 实例。

在多个测试之间保持会话的最佳方法是什么?到目前为止,这是我的代码,很高兴得到一些帮助。我已经用谷歌搜索并检查了文档,但我找不到任何关于会话的东西。

0 投票
1 回答
1136 浏览

php - 如何在 laravel 4 中对代码接收单元测试进行故障排除

虽然我的其他 Codeception 测试正在运行(验收、api 等),但很少有单元测试会运行。它看不到任何 Test.php 类型的测试,只有 Cept.php 和 Cest.php。它不接受(错误)任何断言测试,例如“$this->assertEquals($expeced.'expect this')。我该如何解决这个问题,因为失败的测试只返回:Codeception PHP Testing Framework v1.8.1 Powered由 Sebastian Bergmann 编写的 PHPUnit 3.7.28。

正如我在供应商目录中看到的那样,phpunit 似乎已安装。我可以直接从命令行运行它来查看它的帮助。但仅此而已。Laravel/Codeception 组合中的单元测试通常会变得不稳定吗?有没有我缺少的配置???

0 投票
0 回答
634 浏览

php - 从不同的文件夹创建和运行测试

我在从不同文件夹创建和运行测试时遇到了一点问题。烧了很多小时,但还没有找到解决方案。使用 Codeception 和 Selenium2。

我有一个结构:

我在哪里有 codecept 和 codeception 主文件。

我有 3 种类型的测试文件夹(验收、单元、功能)和 3 种名称相同的 suite.yml。

当我想放置我的所有项目时,我在磁盘 D 文件夹中,这个文件是空的并且没有代码接收文件:

我怎么看这个:

并且 codeception 只运行这个测试,里面有 1 个或多个测试。如何以这种方式创建和运行测试?也许我错了,还有另一种方法可以做到这一点。因此,如果是,请写为示例。

我错过了在该目录中创建文件的部分,因为我不知道它是如何工作的。但是我可以通过键入命令创建包含所有代码接收文件的完整目录:

但这不是我需要的。

0 投票
4 回答
4001 浏览

php - 有没有办法控制 Codeception 中的测试顺序?

在多年编写普通的单元测试后,我才开始使用CodeceptionPHPUnit。困扰我的一件事是,我找不到一种方法来控制调用测试的顺序。

在纯旧PHPUnit的情况下,我像这样手动构建测试结构:

并且测试将按照它们添加到套件的顺序被调用。Codeception另一方面,似乎正在遍历目录并运行它可以找到的每个测试。

我希望能够在两个级别上控制测试的顺序:

  1. 调用不同类型测试的顺序(即我想在unit tests之前运行acceptance tests
  2. 我想控制在特定测试类型中调用的测试顺序(以类似的方式PHPUnit构建套件)

广告。2:假设我在acceptance目录中有两个测试:

我希望能够运行XyzCept.phpbefore AbcCept.php。这甚至可能吗?

并期待挑剔的评论:是的,我知道测试应该能够以任何顺序运行,而不是相互依赖,但这不是我要问的。

0 投票
1 回答
1262 浏览

selenium - Codeception WebDriver 安装

我正在使用此文档在 Firefox 浏览器 http://codeception.com/docs/modules/WebDriver中测试代码接收

我已经设置好了所有东西,就像我之前用 PhpBrowser 玩过代码接收一样。但是我在使用 selenium WebDriver 运行 codeception 时遇到问题,这是一个新手问题,但我来了:

在我发出命令后:

我的控制台有点卡住说

之后我该怎么做才能开始代码接收?当我只使用 PhpBrowser 时,我开始使用它:

我是否必须在某处或某处指定 WebDriver 的位置?我找不到很多关于这个的信息,只是 eclipse 的教程和它们拖放并通过代码指定的地方,而且文档不是很舒服。

0 投票
1 回答
163 浏览

curl - Plesk 共享主机上的 Codeception 404

我只是想让自己使用 Codeception。

全部安装完毕并进行基本验收测试,看看它是否有效。

所以我跑...

php codecept.phar 运行

...它经历了所有的动作,但测试失败了,因为它是 404s。

当我在浏览器中点击相同的 URL 或从另一台服务器获取它时,它工作得很好。

如果有什么不同,我试图让它运行的地方是运行 Plesk 11.5.30 的共享主机环境。服务器属于我工作的机构,所以我应该能够在必要时进行更改。

有人可以在这里帮忙吗?

更新

当 URL 指向同一服务器时,在 Plesk 服务器上使用 curl、wget 等肯定会出现问题。相同的命令在其他服务器上也能正常工作。我已经让我们的服务器管理员查看了这个,我认为一旦 curl 问题得到排序,验收测试可能会起作用。

0 投票
2 回答
2464 浏览

codeception - 计算一个类在带有代码接收的页面中出现的次数

我正在使用 Codeception 运行验收测试,我需要计算带有“.remove”类的按钮在一页中出现的次数。这样的按钮位于 html 表格内,计数取决于购物车中有多少物品。
以下是我尝试使用的代码: