- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我能以某种方式更新特定 shouldReceive 的 shouldReturn 值吗?
例如,我有几个使用一个返回值的测试,只有一个使用其他返回值。
所以我把它放在了 setUp 中:
$this->someDependency->shouldReceive('someMethod')->andReturn(0);
如果我把它放在那个特定的测试用例中:
$this->someDependency->shouldReceive('someMethod')->andReturn(1);
它将被忽略并返回 0。
我“修复”了所有测试的移动模拟并从 setUp 中移除。但我不喜欢那种代码重复。
最佳答案
这主要是风格问题。您可以在测试调用的辅助函数中轻松创建一组“默认”模拟,然后创建一个更明确的替代版本以不同方式设置它们。
您还可以在该帮助程序中,为给定值从特定模拟返回一个函数参数。
有些人认为除了一些非常常见的设置之外,每个测试都应该彼此完全独立,并且应该在其内部完成所有事情。这确实使正在发生的事情变得明确(非常清楚,并且很明显正在发生的事情) - 但可能会增加代码重复的成本。但是,如果您不想重复太多,那是您的选择。
关于php - 更新 mockery 的 andReturn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33823462/
我们有大量使用 JMock 2.5.1 编写的单元测试,其中大多数(全部?)使用本地 Mockery 对象,例如: @RunWith(JMock.class) public class SomeTes
我编写了一个从 aws s3-bucket 获取单个文件的导入函数。 该函数本身是 aws.s3::s3read_using() 的包装器,它将读取函数作为其第一个参数。 为什么要环绕 aws.s3:
我刚开始使用 Mockery并与术语 alias 和 overload 混淆。谁能给我解释一下什么时候使用哪个? 最佳答案 Overload 用于创建“实例模拟”。当创建一个类的新实例时,这将“拦截”
我使用 Laravel (4.1) 框架并阅读了“Laravel-testing-decoded”,这是 Jeffrey Wey 的电子书。 我想测试我的模态用户和我的方法 setPasswordAt
我从一周开始学习 phpunit。我不知道如何只模拟测试类中的一种方法。 (这只是示例,所以我没有写命名空间)。也许你可以帮助我 class SomeService { public func
我希望能够使用 Mockery 在 java 中模拟 File 对象。我似乎无法在 Java 中为文件创建接口(interface)。这可能吗? 编辑: 我需要测试 Indexer 类中的 index
我正在使用 phpunit 和 mockery 在 laravel 中学习单元测试。我目前正在尝试测试 UsersController::store()。 我正在模拟用户模型并使用它来测试索引方法,这
我需要测试,代码创建了一个具有特定参数的类的新实例: $bar = new ProgressBar($output, $size); 我试图创建一个别名 mock 并为 __construct 方法设
我正在尝试在 Controller 中正确模拟对 Eloquent 模型的链式调用。在我的 Controller 中,我使用依赖注入(inject)来访问模型,以便模拟它应该很容易,但是我不确定如何测
我正在尝试测试一个简单的类。我正在学习本教程 ( http://code.tutsplus.com/tutorials/testing-laravel-controllers--net-31456 )
我想使用Mokcery mock一个已经在另一个方法中使用过的静态方法,如下: Class SomeClass { public static function methodA() {
TLDR;使用相同参数调用 mock shouldReceive('method)` 时,如何第一次获取 value1 和第二次获取 value2? 假设我有一个 $order 对象,该对象使用 ge
我想使用 Mockery 并改变它: $mockFoo = $this->getMockBuilder('Foo') ->disableOriginalConstructor()
如果使用 JMock 编写带有模拟的 Java 单元测试,我们应该使用 Mockery context = new Mockery() 或者 Mockery context = new JUnit4M
我正在尝试为我的网络应用程序编写一些单元测试。我使用 Laravel 5.3 和 Mockery。 这是简化的代码: class UserService { protected $userRe
我能以某种方式更新特定 shouldReceive 的 shouldReturn 值吗? 例如,我有几个使用一个返回值的测试,只有一个使用其他返回值。 所以我把它放在了 setUp 中: $this-
我目前正在为 Laravel 4 中的一个包编写测试。 我在模拟 Illuminate\Database\Query\Builder 它几乎一直工作,除非 where 方法使用回调,我无法检查内部方法
这可能是我对模拟的误解。我真的很感激关于为什么模拟一个不存在或存在的类是一件好事的解释? 示例场景:假设我们有一个类依赖于第二个类的输出,我们更改了输出格式或其他格式。这不会让我们的测试保持成功,尽管
我正在尝试测试我的一个服务类,但无法通过 PHPUnit 测试。 测试失败的相关部分: File::shouldReceive('put')->with('app/storage/logs/larav
如何在流明框架中使用模拟? 我使用流明框架。 lumen的文档很简单。我不知道如何使用 mockery 或 facades 来模拟模型。我尝试了一些方法,但没有人奏效。我想在 updatePasswo
我是一名优秀的程序员,十分优秀!