问题标签 [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 回答
438 浏览

codeception - WebGuy seeResponseContainsJson 未按预期解析

我有一些针对我的 REST API 的验收测试,它们基本上都是相同的模式:

我的一些测试中的问题出现在seeResponseContainsJson。给定一个 JSON 响应:

尝试使用 seeResponseContainsJson 测试响应格式时,我有以下内容:

问题是这总是失败。但是,如果我删除 _embedded 的检查:

一切正常。据我所知,响应是相同的,并且似乎没有任何证据表明为什么 _embedded 会导致 JSON 解析崩溃。有任何想法吗?

0 投票
0 回答
819 浏览

html - 保存/重置的 Codeception 验收测试错误

我正在尝试使用 Codeception 为我的网站执行验收测试,但由于我正在测试的表单上的重置按钮,我遇到了一个奇怪的错误。基本上,我点击“保存”的测试只有在我的表单上的重置按钮位于“保存”按钮之后,或者重置按钮完全离开表单时才有效。如果将重置按钮插入到保存按钮之前的表单中,Codeception 会抛出 Unreachable field "reset" 错误。这是我的 Codeception 代码:

这是我的 HTML(大部分是从 Symfony2 生成的):

最后,这是来自 Codeception 的错误消息的相关输出:

同样,如果在 HTML 中的保存按钮之后呈现重置按钮,则验收测试通过就好了。此外,如果重置按钮完全不在表单中,则验收测试也会通过。有谁知道是什么原因造成的?

0 投票
1 回答
1217 浏览

php - 使用 Codeception 和 Laravel4 找不到模型类

我正在学习 tutsplus 的课程:https ://tutsplus.com/lesson/laravel-gotchas/但我在本课中有一个错误: https ://tutsplus.com/lesson/laravel-gotchas/

错误是我正在尝试创建 Post 类型的对象(Post 是 Laravel 中的模型),但是在运行代码接收测试时出现下一条消息:

这是我的测试 PostCest.php

这是我的 Post 类:

0 投票
0 回答
335 浏览

httpresponse - 带有 if-none-match 的 codeception 获取请求不返回 304

我正在使用 codeception 来覆盖 REST API 的代码。在我目前的情况下,我想测试发送请求以接收所请求资源的 ETag-Header 的行为,并在标题为“If-None-Match”的同一资源上的第二次请求中重用此 ETag 的值实现304响应码。

所以我在 Cest-File 中所做的是:

当我执行此测试时,它在第二个请求说响应代码 200 与 304 不匹配后失败。当我使用外部工具(Firefox 的 HTTP 请求程序插件)执行相同的请求时,我得到了预期的行为。我必须做些什么才能让我的测试正常工作?我是否在代码接收方面发了一些错误信息,或者这可能是一个错误?

任何帮助表示赞赏,也许有人以前已经遇到过这种情况。在此先感谢您的帮助!

0 投票
2 回答
3558 浏览

laravel-4 - Codeception 中的验收测试是否应该在测试环境中运行?(Laravel4 + Codeception)

我正在尝试在我的 Laravel 应用程序中运行一些验收测试。虽然功能测试会触发测试环境,但验收测试不会。它是一个错误还是验收测试的一个特性?这让我感到困扰的主要问题是,它没有使用(+填充+清理)测试数据库,它只连接到开发数据库(当没有指定其他 ENV 时使用它,例如测试、生产)和这个当我多次运行这些测试时,它们经常失败。

这是我的配置:

密码接收.yml

验收套件.yml

功能套件.yml

谢谢你的帮助!

0 投票
9 回答
49592 浏览

php - 在 Codeception 中将调试输出打印到控制台

非常厚的问题,但是有没有办法在 Codeception 中将您自己的调试消息打印到控制台?我的意思是与断言无关的消息,纯粹用于调试测试本身(例如,就像您var_dump()在任何常规 PHP 网站中使用变量一样)

我已经尝试过var_dump()echoprint无济于事。使用WebDebug'smakeAResponseDump()也不会产生所需的结果,我只想能够看到我的变量的内容,而不必运行像xdebug这样的调试器。

0 投票
3 回答
1881 浏览

php - Vagrant、Codeception 和 Laravel 问题。NotFoundHttpException

我正在尝试使用codeception进行验收测试。

我的一项测试有以下内容:

最初测试运行正常,但是在添加Laravel4acceptance.suite.yml文件并运行build之后,测试现在失败并显示以下内容:

我正在使用 vagrant 在虚拟环境中运行我的应用程序,在http://localhost:3030/

我已将其设置为PhpBrowser配置的 url,acceptance.suite.yml如下所示:

我想知道是否有其他人遇到过这个问题,或者对如何解决这个问题有任何想法,我已经为此扯了几个小时的头发。

0 投票
1 回答
4376 浏览

php - 使用不同的编码环境

我正在使用 Codeception 为 API 进行一些单元测试。这个想法是确保每个 API 调用都返回预期的响应代码和所需格式的 JSON 对象。

我遇到的问题是我需要使用不同的 URL,具体取决于服务器是localhost、测试服务器还是生产服务器。

我不能使用 的值,$_SERVER['SERVER_NAME']因为测试不是通过 Web 浏览器运行的。

这里http://codeception.com/docs/07-AdvancedUsage#Environments他们解释说可以通过修改配置文件来设置一些环境。该文档没有解释如何修改配置文件以在您自己的单元测试中使用它。

我想在我的单元测试类中设置一些环境,例如local, testproduction然后知道URLs要使用什么。每个环境都有不同的 URL。

我已经阅读了文档,但我找不到这样做的方法。

你知道有什么方法可以达到我的需要吗?

0 投票
1 回答
1360 浏览

php - 在 Codeception 中模拟 Symfony2 实体管理器

我正在为我的 Symfony2 应用程序中的 Manager 类编写代码接收单元测试,我想知道如何模拟实体管理器。例如,假设我的 AcmeManager 服务类中有以下函数:

我想编写以下测试函数:

我如何模拟实体管理器,这样当我调用时$acmeManager->findMatches(0);,我可以断言模拟的实体管理器被调用(即使$acmeManager在其正常实现中使用常规的 Symfony2 实体管理器)?

0 投票
2 回答
2001 浏览

php - Codeception 引导程序失败

通过 .phar 安装 Codeception 效果很好,但我决定将我所有的依赖项移到 composer 中。当我尝试引导代码接收时,这是我的错误:

我觉得奇怪的是这适用于 phar,但不是这样?我肯定在我的 php-cli 设置中启用了 curl: