问题标签 [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.
codeception - WebGuy seeResponseContainsJson 未按预期解析
我有一些针对我的 REST API 的验收测试,它们基本上都是相同的模式:
我的一些测试中的问题出现在seeResponseContainsJson。给定一个 JSON 响应:
尝试使用 seeResponseContainsJson 测试响应格式时,我有以下内容:
问题是这总是失败。但是,如果我删除 _embedded 的检查:
一切正常。据我所知,响应是相同的,并且似乎没有任何证据表明为什么 _embedded 会导致 JSON 解析崩溃。有任何想法吗?
html - 保存/重置的 Codeception 验收测试错误
我正在尝试使用 Codeception 为我的网站执行验收测试,但由于我正在测试的表单上的重置按钮,我遇到了一个奇怪的错误。基本上,我点击“保存”的测试只有在我的表单上的重置按钮位于“保存”按钮之后,或者重置按钮完全离开表单时才有效。如果将重置按钮插入到保存按钮之前的表单中,Codeception 会抛出 Unreachable field "reset" 错误。这是我的 Codeception 代码:
这是我的 HTML(大部分是从 Symfony2 生成的):
最后,这是来自 Codeception 的错误消息的相关输出:
同样,如果在 HTML 中的保存按钮之后呈现重置按钮,则验收测试通过就好了。此外,如果重置按钮完全不在表单中,则验收测试也会通过。有谁知道是什么原因造成的?
php - 使用 Codeception 和 Laravel4 找不到模型类
我正在学习 tutsplus 的课程:https ://tutsplus.com/lesson/laravel-gotchas/但我在本课中有一个错误: https ://tutsplus.com/lesson/laravel-gotchas/
错误是我正在尝试创建 Post 类型的对象(Post 是 Laravel 中的模型),但是在运行代码接收测试时出现下一条消息:
这是我的测试 PostCest.php
这是我的 Post 类:
httpresponse - 带有 if-none-match 的 codeception 获取请求不返回 304
我正在使用 codeception 来覆盖 REST API 的代码。在我目前的情况下,我想测试发送请求以接收所请求资源的 ETag-Header 的行为,并在标题为“If-None-Match”的同一资源上的第二次请求中重用此 ETag 的值实现304响应码。
所以我在 Cest-File 中所做的是:
当我执行此测试时,它在第二个请求说响应代码 200 与 304 不匹配后失败。当我使用外部工具(Firefox 的 HTTP 请求程序插件)执行相同的请求时,我得到了预期的行为。我必须做些什么才能让我的测试正常工作?我是否在代码接收方面发了一些错误信息,或者这可能是一个错误?
任何帮助表示赞赏,也许有人以前已经遇到过这种情况。在此先感谢您的帮助!
laravel-4 - Codeception 中的验收测试是否应该在测试环境中运行?(Laravel4 + Codeception)
我正在尝试在我的 Laravel 应用程序中运行一些验收测试。虽然功能测试会触发测试环境,但验收测试不会。它是一个错误还是验收测试的一个特性?这让我感到困扰的主要问题是,它没有使用(+填充+清理)测试数据库,它只连接到开发数据库(当没有指定其他 ENV 时使用它,例如测试、生产)和这个当我多次运行这些测试时,它们经常失败。
这是我的配置:
密码接收.yml
验收套件.yml
功能套件.yml
谢谢你的帮助!
php - 在 Codeception 中将调试输出打印到控制台
非常厚的问题,但是有没有办法在 Codeception 中将您自己的调试消息打印到控制台?我的意思是与断言无关的消息,纯粹用于调试测试本身(例如,就像您var_dump()
在任何常规 PHP 网站中使用变量一样)
我已经尝试过var_dump()
,echo
但print
无济于事。使用WebDebug
'smakeAResponseDump()
也不会产生所需的结果,我只想能够看到我的变量的内容,而不必运行像xdebug这样的调试器。
php - Vagrant、Codeception 和 Laravel 问题。NotFoundHttpException
我正在尝试使用codeception进行验收测试。
我的一项测试有以下内容:
最初测试运行正常,但是在添加Laravel4
到acceptance.suite.yml
文件并运行build
之后,测试现在失败并显示以下内容:
我正在使用 vagrant 在虚拟环境中运行我的应用程序,在http://localhost:3030/
我已将其设置为PhpBrowser
配置的 url,acceptance.suite.yml
如下所示:
我想知道是否有其他人遇到过这个问题,或者对如何解决这个问题有任何想法,我已经为此扯了几个小时的头发。
php - 使用不同的编码环境
我正在使用 Codeception 为 API 进行一些单元测试。这个想法是确保每个 API 调用都返回预期的响应代码和所需格式的 JSON 对象。
我遇到的问题是我需要使用不同的 URL,具体取决于服务器是localhost
、测试服务器还是生产服务器。
我不能使用 的值,$_SERVER['SERVER_NAME']
因为测试不是通过 Web 浏览器运行的。
这里http://codeception.com/docs/07-AdvancedUsage#Environments他们解释说可以通过修改配置文件来设置一些环境。该文档没有解释如何修改配置文件以在您自己的单元测试中使用它。
我想在我的单元测试类中设置一些环境,例如local
, test
,production
然后知道URLs
要使用什么。每个环境都有不同的 URL。
我已经阅读了文档,但我找不到这样做的方法。
你知道有什么方法可以达到我的需要吗?
php - 在 Codeception 中模拟 Symfony2 实体管理器
我正在为我的 Symfony2 应用程序中的 Manager 类编写代码接收单元测试,我想知道如何模拟实体管理器。例如,假设我的 AcmeManager 服务类中有以下函数:
我想编写以下测试函数:
我如何模拟实体管理器,这样当我调用时$acmeManager->findMatches(0);
,我可以断言模拟的实体管理器被调用(即使$acmeManager
在其正常实现中使用常规的 Symfony2 实体管理器)?
php - Codeception 引导程序失败
通过 .phar 安装 Codeception 效果很好,但我决定将我所有的依赖项移到 composer 中。当我尝试引导代码接收时,这是我的错误:
我觉得奇怪的是这适用于 phar,但不是这样?我肯定在我的 php-cli 设置中启用了 curl: