如何模拟RedBean进行单元测试

杰伊·哈斯

我刚刚开始将RedBean用于一个小的PHP网页项目。我正在为每个班级进行单元测试。我不确定如何在单元测试中模拟RedBean。

问题:如何模拟RedBean类以支持单元测试?

杰伊·哈斯

这是我所做的。到目前为止,它似乎运行良好。我能够对模型进行单元测试,并且已经通过静态RedBean函数调用隔离了:

  1. 我围绕正在使用的RedBean静态函数创建了一个瘦包装器类。
  2. 我将此瘦包装器类传递给每个模型类。
  3. 模型类使用此精简包装来CRUD RedBean数据。
  4. 直接引用RedBean的唯一地方是精简包装。
  5. 在单元测试期间,我只是在模拟薄包装器。

这是一些示例测试代码:

$db         =  M::mock( 'BeanDatabase' );
$bean       =  M::mock( 'Bean' );
$factory    =  M::mock( 'EntityFactory' );
$term_bean  =  M::mock( 'Bean' );
$term       =  M::mock( 'Term' );

$db->shouldReceive( 'dispense' )
    ->once( )
    ->andReturn( $bean );

$db->shouldReceive( 'find_all' )
    ->once( )
    ->with( 'term', 'WHERE termcategory_id = 5' )
    ->andReturn( array( $term_bean ) );

$factory->shouldReceive( 'create_entities_from_beans' )
    ->once( )
    ->with( array( $term_bean ) )
    ->andReturn( $term );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何模拟$ window进行单元测试AngularJS服务?

来自分类Dev

如何模拟缓冲文件句柄以进行单元测试

来自分类Dev

如何模拟配置阶段提供程序进行单元测试?

来自分类Dev

您如何模拟xml以进行单元测试?

来自分类Dev

如何模拟CakePHP行为进行单元测试

来自分类Dev

如何模拟验证器进行单元测试

来自分类Dev

我如何模拟UserManager和RoleManager进行单元测试

来自分类Dev

如何模拟Android NFC Tag对象以进行单元测试

来自分类Dev

如何模拟Akka演员对课程进行单元测试?

来自分类Dev

如何正确设置模拟数据以进行单元测试?

来自分类Dev

您如何模拟xml以进行单元测试?

来自分类Dev

如何在模拟方法中对函数进行单元测试

来自分类Dev

努力进行单元测试和模拟

来自分类Dev

模拟__init __()进行单元测试

来自分类Dev

模拟单例进行单元测试

来自分类Dev

模拟HttpRequestException进行单元测试

来自分类Dev

模拟Googleads进行单元测试

来自分类Dev

模拟__init __()进行单元测试

来自分类Dev

模拟HttpRequestException进行单元测试

来自分类Dev

如何使用模拟框架模拟龙卷风协程函数进行单元测试?

来自分类Dev

如何用sinon模拟hapi.js答复进行单元测试

来自分类Dev

在进行单元测试时,如何模拟异步方法的返回null?

来自分类Dev

如何使用Moq模拟SoapException进行单元测试错误处理

来自分类Dev

如何提供模拟文件以更改<input type ='file'>事件以进行单元测试

来自分类Dev

如何在与Jest的react-native中使用模拟的fetch()对API调用进行单元测试

来自分类Dev

如何在没有模拟断言的情况下对该功能进行单元测试?

来自分类Dev

如何模拟要使用JUnit + Mockito进行单元测试的服务中使用的类

来自分类Dev

如何使用squire模拟内联requirejs依赖项以进行单元测试?

来自分类Dev

如何模拟聚合物核心Ajax,以进行单元测试

Related 相关文章

  1. 1

    如何模拟$ window进行单元测试AngularJS服务?

  2. 2

    如何模拟缓冲文件句柄以进行单元测试

  3. 3

    如何模拟配置阶段提供程序进行单元测试?

  4. 4

    您如何模拟xml以进行单元测试?

  5. 5

    如何模拟CakePHP行为进行单元测试

  6. 6

    如何模拟验证器进行单元测试

  7. 7

    我如何模拟UserManager和RoleManager进行单元测试

  8. 8

    如何模拟Android NFC Tag对象以进行单元测试

  9. 9

    如何模拟Akka演员对课程进行单元测试?

  10. 10

    如何正确设置模拟数据以进行单元测试?

  11. 11

    您如何模拟xml以进行单元测试?

  12. 12

    如何在模拟方法中对函数进行单元测试

  13. 13

    努力进行单元测试和模拟

  14. 14

    模拟__init __()进行单元测试

  15. 15

    模拟单例进行单元测试

  16. 16

    模拟HttpRequestException进行单元测试

  17. 17

    模拟Googleads进行单元测试

  18. 18

    模拟__init __()进行单元测试

  19. 19

    模拟HttpRequestException进行单元测试

  20. 20

    如何使用模拟框架模拟龙卷风协程函数进行单元测试?

  21. 21

    如何用sinon模拟hapi.js答复进行单元测试

  22. 22

    在进行单元测试时,如何模拟异步方法的返回null?

  23. 23

    如何使用Moq模拟SoapException进行单元测试错误处理

  24. 24

    如何提供模拟文件以更改<input type ='file'>事件以进行单元测试

  25. 25

    如何在与Jest的react-native中使用模拟的fetch()对API调用进行单元测试

  26. 26

    如何在没有模拟断言的情况下对该功能进行单元测试?

  27. 27

    如何模拟要使用JUnit + Mockito进行单元测试的服务中使用的类

  28. 28

    如何使用squire模拟内联requirejs依赖项以进行单元测试?

  29. 29

    如何模拟聚合物核心Ajax,以进行单元测试

热门标签

归档