问题标签 [simpletest]

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 投票
3 回答
7266 浏览

php - 如何使用程序代码库在 PHP 中编写单元测试?

我对单元测试的好处深信不疑,我想开始将这个概念应用到用 PHP 编写的大型现有代码库中。不到 10% 的代码是面向对象的。

我查看了几个单元测试框架(PHPUnit、SimpleTest 和 phpt)。但是,我还没有找到任何测试程序代码的示例。什么是适合我情况的最佳框架,是否有任何使用非 OOP 代码对 PHP 进行单元测试的示例?

0 投票
2 回答
495 浏览

php - SimpleTest 模拟问题

我正在编写一些测试用例,并且我有一个使用 Mock 对象的测试用例。我需要检查是否从另一个类方法调用了两个类方法。这是我所做的:

首先,我生成了 Mock:

然后,在我的测试中,我调用了:

我的实现代码如下所示:

并且 loadUrl 和 parse() 方法肯定存在。我的测试失败了两次,都告诉我“[loadUrl] 的预期调用计数是 [1] 得到 [0]”。我不知道发生了什么 - 正在从该函数调用方法!

谢谢,

杰米

0 投票
1 回答
1433 浏览

cakephp - 如何使用 CakePHP 中的 SimpleTest 处理我的夹具中的外键关系以进行单元测试?

我正在尝试为 CakePHP 中的单元测试(通过 SimpleTest)创建一些固定数据,但我不知道如何处理我的外键关系。这是夹具代码的示例:

所以,你可以猜到 Specialty 有一个事件的外键(我的 Event 模型看起来像这样):

我得到的错误是:

Unexpected PHP error [<span style = "color:Red;text-align:left"><b>SQL Error:</b> 1054: Unknown column 'event_id' in 'field list'</span>] severity [E_USER_WARNING] in [/dev/trunk/cake/libs/model/datasources/dbo_source.php line 525] /dev/trunk/app/tests/cases/models/event.test.php -> EventTestCase -> endCase

我承认我对 CakePHP 夹具数据的理解很少(文档有点稀缺,网络上的例子都在重复一些琐碎的例子)所以关于我可以/应该做什么的任何想法?

0 投票
5 回答
27240 浏览

php - PHPUnit 中是否有相当于 SimpleTest 的“部分模拟”?

我正在尝试将一堆测试从 SimpleTest 迁移到PHPUnit ,我想知道 SimpleTest 的partial mocks是否有等价物。

我似乎在文档中找不到任何表明此功能可用的内容,但我突然想到我可以只使用一个子类。这是个好主意还是坏主意?

0 投票
4 回答
7807 浏览

php - 在单元测试中模拟 PHP 函数

我正在使用 SimpleTest 对一些 PHP 代码进行单元测试,但遇到了麻烦。在我对数据库类的测试中,我希望能够为 PHPmysql函数设置一个期望值。在我对函数的包装类的测试中,mail我想模拟 PHPmail函数。这些只是一些例子。

关键是:我不想(总是)测试我的 Mail 类是否发送电子邮件,我想测试它如何调用该mail函数。我希望能够控制这些函数返回的内容。我希望能够测试我的 Database 类,而不需要数据库、fixtures 等等。

我有一些测试 Ruby 代码的经验,Test::Unit 和 RSpec 使得单独测试代码变得非常容易。我是测试 PHP 的新手,感觉我测试的比我应该做的要多得多,才能让我的测试通过。

SimpleTest 或 PhpUnit 或其他一些测试框架中是否有一种方法可以使这成为可能或更容易?

0 投票
1 回答
2811 浏览

php - CakePHP 控制器的真实测试?

我正在使用 SimpleTest 1.0.1 使用 CakePHP(刚刚发布的 1.2.4)编写一个新应用程序。我已经阅读了Cookbook的相关部分,在Bakery上进行了搜索,并阅读了 Mark Story 关于控制器测试的帖子(hard waymocks)。

不幸的是,这些都没有谈到对非平凡控制器的实际测试。许多应用程序将网站的某些区域放在登录后面,但我不知道如何测试以下简单场景:

  • 访客访问受保护的页面重定向?
  • 有效凭据设置预期的会话变量?
  • 无效凭据重新显示带有错误消息的登录页面?

下面的控制器和测试没有像我想象的那样工作。两个断言都失败了,我也得到一个 PHP 错误:

FAILED [NULL] 在 [.../app/tests/cases/controllers/users_controller.test.php 第 79 行] .../app/tests/cases/controllers/users_controller.test.php -> UsersControllerTest 不应为空-> 测试登录

FAILED 相等期望失败,因为 [NULL] 不匹配 [Integer: 1] at [.../app/tests/cases/controllers/users_controller.test.php line 80] .../app/tests/cases/controllers/ users_controller.test.php -> UsersControllerTest -> testLogin

错误 [.../cake/libs/controller/components/auth.php 第 266 行] 中的意外 PHP 错误 [未定义索引:操作] 严重性 [E_NOTICE] .../app/tests/cases/controllers/users_controller.test。 php -> UsersControllerTest -> testLogin

这是控制器(baked plus Mark Story 的“hard way”测试方法):

这是测试:

0 投票
1 回答
1286 浏览

cakephp - cakephp simpletest webtester 延迟/睡眠功能

我正在使用 simpletest 来集成测试我的网站。我需要告诉内部浏览器等待一段时间(页面重定向时),然后执行 assertText。

是否有捷径可寻 ?

0 投票
2 回答
893 浏览

drupal - Drupal 的 SimpleTest 不创建自定义表的副本

我正在使用带有 Drupal 6.13 的 SimpleTest 模块版本 6.x-2.8。我编写了一个自定义模块,并为此编写了一些测试。但是,SimpleTest 似乎没有创建与我的自定义模块关联的表的副本,因为每次我尝试将某些内容插入表中或在 SimpleTest 中查询它时都会收到异常消息。

在 SimpleTest 结果页面中,所有插入查询都会产生类似的结果: Table 'db_name.simpletest692319new_table' doesn't exist query: INSERT INTO simpletest692319new_table(...)

在我的 .install 文件中为模块定义了一个 hook_schema()。有谁知道 SimpleTest 是否需要其他任何东西来识别我的表并创建它的副本?

谢谢。

0 投票
4 回答
2598 浏览

php - 有没有办法使用 php 和 javascript 触发 IE 窗口从 firefox 浏览器打开?

我使用 simpletest 作为我的 php 单元测试框架。

我将所有测试用例放入一个 all_tests.php 文件中

然而,由于我们的开发人员倾向于使用 firefox 来运行 all_tests.php,我们往往会错过特定于浏览器的失败案例,尤其是 ie7。

有没有一种方法,当有人在 Firefox 中浏览我们的 all_tests.php 时,它会自动触发一个 ie 窗口为同一页面打开?

0 投票
1 回答
405 浏览

php - 在 PHP 中使用 SimpleTest 进行单元测试,不断从相对路径获取文件目录错误?

我正在使用 Zend Framework MVC 和 SimpleTest 库的单元测试。我有一个特定的模型一直失败,因为它使用 Zend Cache 并且缓存目录是一个相对路径我想知道是否有人见过像这样的问题 b4。谢谢。