草庐IT

partial-mocks

全部标签

javascript - Jasmine 2.0 async done() 和 angular-mocks inject() 在同一个测试中 it()

我通常的测试用例看起来像it("shouldsendgetrequest",inject(function(someServices){//sometest}));Jasmine2.0异步测试应该是这样的it("shouldsendgetrequest",function(done){someAsync.then(function(){done();});});如何在一个测试中同时使用done和inject? 最佳答案 这应该有效;当我更新到Jasmine2.0时遇到了同样的问题it("shouldsendgetrequest",f

unit-testing - 如何在 Go 中构建 Mock 或 Stub 结构?

假设我有一个包含多个接口(interface)的Go包。对于这个例子,我将重点关注middleware.go中定义的一个名为Middleware的对象:typeMiddlewareinterface{//somefunctions}我有一些系统的其他部分使用它,所以为了更好地帮助测试系统的这些部分,我在mock_middleware.go中手动创建了一个模拟实现:typeMockMiddlewarestruct{}//implementations在没有测试的情况下构建二进制文件时,如何排除模拟类被构建到二进制文件中?我知道middleware_test.go将被排除在外,但我不想用该

Golang : how to mock . ..interface{} arguents 使用 gomock

我有一个使用标准goPrintf函数签名的Printer接口(interface):typePrinterinterface{Printf(formatstring,tokens...interface{})}我希望能够使用gomock模拟此接口(interface),但我不确定如何正确设置tokens...interface{}参数。我预计Printf(gomock.Any(),gomock.Any())将涵盖所有可能的情况(因为tokens编译为[]interface{}),但您似乎需要为N个token设置显式调用://notokensmockPrinter.EXPECT().Pr

database - Golang gorm mock

我正在使用gorm在我的项目中。我可以在没有数据库连接的情况下模拟这个数据库orm进行测试吗?问题是我们有CI工具,但我没有数据库或没有足够数据进行测试的数据库。换句话说,我不想在每次测试时都设置一个数据库,因为在这些情况下,CI工具每次都会创建一个容器来运行测试。测试数据库相关方法的最佳方法是什么?我在我的解决方案中使用依赖注入(inject),因此很容易用模拟数据库替换数据库。但是gorm有很多orm相关的功能。这是一个处理程序,例如:functokenIntrospectionHandler(db*gorm.DB)http.HandlerFunc{returnhttp.Handl

merge 后提交时出现 Git 错误 - 致命 : cannot do a partial commit during a merge

我运行了一个以冲突结束的gitpull。我解决了冲突,现在一切都很好(我也使用了mergetool)。当我使用gitcommitfile.php-m"message"提交解析的文件时,我得到了错误:fatal:cannotdoapartialcommitduringamerge.我之前遇到过同样的问题,在提交中使用-a效果很好。我认为这不是完美的方式,因为我不想提交所有更改。我想用单独的注释单独提交文件。我怎样才能做到这一点?为什么git不允许用户在merge后单独提交文件?我找不到这个问题的满意答案。 最佳答案 我发现在提交命令中

linux - 在中断的传输上恢复rsync局部(-P/-partial)

我正在尝试使用rsync将文件服务器备份到删除文件服务器。传输中断时,Rsync无法成功恢复。我使用了partial选项,但rsync找不到它已经启动的文件,因为它将其重命名为临时文件,并且在恢复时会创建一个新文件并从头开始。这是我的命令:rsync-avztP-e"ssh-p2222"/volume1/myaccont@backup-server-1:/home/myaccount/backup/--exclude"@spool"--exclude"@tmp"运行此命令后,将在本地计算机上从本地计算机上创建名为OldDisk.dmg的备份文件,就像.OldDisk.dmg.SjDnd

php - Laravel 4 - 在一个 View 中包含一个 "partial" View (不使用 Blade 模板)

在Laravel3中,我曾经这样做过。这是在“PHP”View中完成的,没有使用Laravel的Blade模板。这在版本4中的等效项是什么?我试过了这行不通。如果我这样做@include('partials.header')我必须将我的文件保存为“.blade.php”如何在不使用Blade模板的情况下包含“subview”? 最佳答案 在Laravel4中有不同的方法可以在一个View中包含一个View。您的选择将取决于下面列出的任何一种结果......为了灵active您可以在适当的Controller中编译(呈现)部分View

php - mock 首先抛出然后在第二次调用时返回值

$client=Mockery::mock();$client->shouldReceive('send')->andThrow($error)->andReturn(true);不幸的是,它只返回true而没有先抛出异常。如何在第一次调用时抛出异常,然后在第二次调用该方法时返回值?编辑:如果我手动编辑Mockery\Expectation.php并设置$_throw=真。$client->shouldReceive('send')->twice()->andReturn($error,true); 最佳答案 $client->sh

PHPUnit - 创建 Mock 对象作为属性的 stub

我正在尝试在PHPunit中配置Mock对象以返回不同属性的值(使用__get函数访问)例子:classOriginalObject{publicfunction__get($name){switch($name)case"ParameterA":return"ValueA";case"ParameterB":return"ValueB";}}我正在尝试使用以下方式来模拟它:$mockObject=$this->getMock("OrigionalObject");$mockObject->expects($this->once())->method('__get')->with($t

php - mock - call_user_func_array() 期望参数 1 是一个有效的回调

我有一个类需要模拟:classMessagePublisher{/***@param\PhpAmqpLib\Message\AMQPMessage$msg*@paramstring$exchange-ifnotprovidedthenonepassedinconstructorisused*@paramstring$routing_key*@parambool$mandatory*@parambool$immediate*@paramnull$ticket*/publicfunctionpublish(AMQPMessage$msg,$exchange="",$routing_key=