php - 单元测试和外部资源

标签 php unit-testing

我对单元测试有点陌生,但我最近发现它非常有用。我已经看到大多数单元测试都是自运行的。事实上,大多数单元测试框架都提供了一种同时运行多个测试的方法(例如对整个系统进行单元测试)。

虽然我想知道;你如何处理自运行单元测试中的外部资源?我喜欢测试整个系统并查看哪些类失败的想法,但是一个类可能会,例如,从上传的图像创建缩略图。当依赖于上传图像时,该测试将如何 self 运行?我会保留一个图片目录,并“假装”在测试中上传其中一张吗?

如有任何想法,我们将不胜感激。

最佳答案

如果您计划测试外部资源,那么它将是集成测试。在纯单元测试中 -> 要测试外部资源,您必须模拟外部资源。所以在这种情况下,您创建一个 IDirectory 接口(interface),然后使用 FakeDirectory 类,然后使用 FakeDirectory 来“上传”图像。当您实际使用该应用程序时,您将传递一个实际目录。

在集成测试中,您可以有一个设置类来完成所有设置工作,然后您可以进行测试。

关于php - 单元测试和外部资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3898202/

相关文章:

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

php - 使用 PHP 从电子邮件回复中执行脚本 url

php - Authorize.net 支付集成

php - MySQL:唯一键

c# - VS2017 .Net Core 2.0 测试 : "Failed to initialize client proxy: could not connect to test process"

php - 使用 php javascript html 和 xml 制作论坛

c++ - 断言和单元测试不兼容吗?

objective-c - 在 UIViewController 上设置只读 navigationController 属性以进行模拟

java - 使用 Mockito 创建 Chunk Tasklet 的单元测试

java - 在单元测试 : VMTransportServer already bound 中重新启动嵌入式代理