在RSpec上下文中包含FactoryGirl方法?

詹姆斯·麦克马洪

我该如何像create直接在上下文中那样包含FactoryGirl方法

例如,当我不在上下文中时,这将起作用

role_all = create(:role, name: 'all')

因为spec_helper.rb我有以下内容,

config.include FactoryGirl::Syntax::Methods

但是,当我处于上下文中时,我需要FactoryGirl.在方法调用之前包含这样的内容,

context 'has role all' do
  role_all = FactoryGirl.create(:role, name: `all`)
  subject(:user) { FactoryGirl.create(:user, roles: [ role_all ]) }
  # test assumptions on user 
end

有人知道吗

BroiSatse

您不应该在上下文中设置数据-仅当rspec收集所有示例时才读取一次,并且不会再次执行。如果它当前有效,那仅仅是因为您没有为每个测试重置数据库,这可能会导致一些问题。而是使用before钩子:

context 'has role all' do
  before(:each) { @role_all = create(:role, name: `all`) }
end

还要注意,subject声明块时不会执行-每次在测试中调用subject时都会执行。由于ruby proc带有它们创建时所在的上下文,因此role_all在代码中声明不会引发任何异常。但是,subject每次调用它时,将返回不同的对象,这可能会使您的测试丢失。

TL; DR:

上下文不是设置测试数据,而是设置将在每次测试之前或之后运行的功能。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

线程上下文中的模板方法

来自分类Dev

线程上下文中的模板方法

来自分类Dev

将非commonJS库包含到Webpack上下文中的好方法是什么?

来自分类Dev

子节点上下文中拼接方法的奇怪行为

来自分类Dev

在Hibernate的load()方法上下文中,代理是什么?

来自分类Dev

在UI线程上下文中执行代码的正确方法?

来自分类Dev

如何在TextWatcher方法上下文中获取View?

来自分类Dev

Ruby:在不同的上下文中执行单例方法

来自分类Dev

从非静态上下文中调用静态方法

来自分类Dev

Apache的骆驼上下文中删除路由定义方法

来自分类Dev

如何在TextWatcher方法上下文中获取View?

来自分类Dev

Ruby:基类上下文中的Execute方法

来自分类Dev

Angular 在正确的上下文中执行传递的方法引用

来自分类Dev

从静态上下文中的 a 调用非静态方法

来自分类Dev

无法在非静态上下文中访问静态方法

来自分类Dev

在不包含Bloc的上下文中调用BlocProvider.of()-即使它包含

来自分类Dev

Ruby RSpec仅在一个上下文中定义钩子之前/之后

来自分类Dev

在RSpec测试(Ruby on Rails)的上下文中,“ StringIO”是什么?

来自分类Dev

Rspec - 在描述上下文中访问描述名称,而不是在“it”中

来自分类Dev

请求上下文中的ServiceStack HasPermission

来自分类Dev

TypeScript和“ this”上下文中的KeyListener

来自分类Dev

单值上下文中的多值

来自分类Dev

标量上下文中的Perl数组

来自分类Dev

在特定上下文中创建资源

来自分类Dev

什么是git上下文中的“ Maildir”?

来自分类Dev

asm上下文中“ vector”的含义

来自分类Dev

在上下文中解析类型

来自分类Dev

Python在“ with”上下文中处理参数

来自分类Dev

模拟上下文中的LocalDB操作

Related 相关文章

  1. 1

    线程上下文中的模板方法

  2. 2

    线程上下文中的模板方法

  3. 3

    将非commonJS库包含到Webpack上下文中的好方法是什么?

  4. 4

    子节点上下文中拼接方法的奇怪行为

  5. 5

    在Hibernate的load()方法上下文中,代理是什么?

  6. 6

    在UI线程上下文中执行代码的正确方法?

  7. 7

    如何在TextWatcher方法上下文中获取View?

  8. 8

    Ruby:在不同的上下文中执行单例方法

  9. 9

    从非静态上下文中调用静态方法

  10. 10

    Apache的骆驼上下文中删除路由定义方法

  11. 11

    如何在TextWatcher方法上下文中获取View?

  12. 12

    Ruby:基类上下文中的Execute方法

  13. 13

    Angular 在正确的上下文中执行传递的方法引用

  14. 14

    从静态上下文中的 a 调用非静态方法

  15. 15

    无法在非静态上下文中访问静态方法

  16. 16

    在不包含Bloc的上下文中调用BlocProvider.of()-即使它包含

  17. 17

    Ruby RSpec仅在一个上下文中定义钩子之前/之后

  18. 18

    在RSpec测试(Ruby on Rails)的上下文中,“ StringIO”是什么?

  19. 19

    Rspec - 在描述上下文中访问描述名称,而不是在“it”中

  20. 20

    请求上下文中的ServiceStack HasPermission

  21. 21

    TypeScript和“ this”上下文中的KeyListener

  22. 22

    单值上下文中的多值

  23. 23

    标量上下文中的Perl数组

  24. 24

    在特定上下文中创建资源

  25. 25

    什么是git上下文中的“ Maildir”?

  26. 26

    asm上下文中“ vector”的含义

  27. 27

    在上下文中解析类型

  28. 28

    Python在“ with”上下文中处理参数

  29. 29

    模拟上下文中的LocalDB操作

热门标签

归档