如何将夹具隔离到特定的Rails测试

已经

如何将夹具的使用与特定测试区分开?

在我的设置中,我的一些测试依赖灯具数据,有些则不依赖灯具,因此将我的所有灯具加载到test_helper.rb中的默认设置fixtures :all会破坏我的测试。

需要空的行为主义者表的示例集成测试:

require 'test_helper'

class WelcomeFlowTest < ActionDispatch::IntegrationTest
  test "when no user is found start welcome flow" do
    get "/"
    follow_redirect!
    assert_response :success

    post "/setup", {
      behaviorist: { name: "Andy", email: "[email protected]" },
      habit: { name: "Interval running", on_monday: false, on_tuesday: true, \
               on_wednesday: false, on_thursday: true, on_friday: false, \
               on_saturday: true, on_sunday: false }
    }
    assert_response :success
    assert_equal 1, Behaviorist.count
    assert_equal 1, Habit.count
  end
end

我的单元测试需要行为主义者的固定装置:

require 'test_helper'

class BehavioristTest < ActiveSupport::TestCase
  test "validates uniqueness of :name" do
    andy = Behaviorist.new(name: "Andy", remote_ip: "127.0.0.1")
    assert_not run.valid?
    assert_match /has already been taken/, andy.errors[:name].join
  end
end
已经

稍微了解一下Rails如何实现固定装置,我看到固定装置一旦加载,便通过事务与每个TestCase中的更改隔离开来。我的工作解决方案是删除fixtures :all内部的test_helper.rb。然后,对于需要夹具的每个测试,我都会覆盖使用事务性夹具,加载特定夹具的默认设置,然后在拆卸时将其删除。

单个TestCase的隔离夹具示例:

require 'test_helper'

class BehavioristTest < ActiveSupport::TestCase
  self.use_transactional_fixtures = false
  fixtures :behaviorists
  teardown :delete_behaviorists

  test "validates uniqueness of :name" do
    andy = Behaviorist.new(name: "Andy", remote_ip: "127.0.0.1")
    assert_not run.valid?
    assert_match /has already been taken/, run.errors[:name].join
  end

  private

  def delete_behaviorists
    Behaviorist.delete_all
  end
end

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

环回:如何将用户查询隔离到特定数据源?

来自分类Dev

Rails测试用例:除了全局夹具之外,还有什么方法可以为特定的测试用例创建夹具?

来自分类Dev

如何将函数处理程序从控制器传递到AngularJs的指令隔离范围中?

来自分类Dev

AngularJS:隔离范围并绑定到parentFunction后,如何将参数传递给此parentFunction?

来自分类Dev

如何将文件从sdcard复制到Wp8中的隔离存储?

来自分类Dev

如何将函数处理程序从控制器传递到AngularJs的指令隔离范围中?

来自分类Dev

iOS如何将数组隔离到另一个视图控制器

来自分类Dev

如何将Azure管道测试结果发布到SonarCloud

来自分类Dev

在Rails 4.2下不对特定的单元测试使用夹具

来自分类Dev

如何将静态URL重定向到Rails资源

来自分类Dev

如何将嵌套的json对象从angular传递到rails

来自分类Dev

如何将数据传递到视图Rails

来自分类Dev

Rails:如何将数据从Ruby传递到Javascript

来自分类Dev

如何将嵌套的json对象从angular传递到rails

来自分类Dev

如何将变量的值从javascript传递到rails

来自分类Dev

测试期间将夹具数据复制到iOS应用

来自分类Dev

您如何将特定的工件从Jenkins部署到Nexus?

来自分类Dev

如何将特定的C模块移植到Python 3?

来自分类Dev

如何将特定的动态页面重定向到主页

来自分类Dev

如何将JFrame固定到特定位置?

来自分类Dev

GMSIndoorDisplay:如何将更改强制到特定楼层

来自分类Dev

如何将URL定位到特定位置

来自分类Dev

如何将特定页面重定向到http

来自分类Dev

如何将网关绑定到特定的名称空间?

来自分类Dev

如何将多个onclick函数绑定到特定节点?

来自分类Dev

如何将ActiveX按钮锁定到特定的列索引

来自分类Dev

如何将CSS ID定位到特定的HTML标签

来自分类Dev

如何将特定项目对齐到<li>

来自分类Dev

如何将Python套接字绑定到特定域?

Related 相关文章

  1. 1

    环回:如何将用户查询隔离到特定数据源?

  2. 2

    Rails测试用例:除了全局夹具之外,还有什么方法可以为特定的测试用例创建夹具?

  3. 3

    如何将函数处理程序从控制器传递到AngularJs的指令隔离范围中?

  4. 4

    AngularJS:隔离范围并绑定到parentFunction后,如何将参数传递给此parentFunction?

  5. 5

    如何将文件从sdcard复制到Wp8中的隔离存储?

  6. 6

    如何将函数处理程序从控制器传递到AngularJs的指令隔离范围中?

  7. 7

    iOS如何将数组隔离到另一个视图控制器

  8. 8

    如何将Azure管道测试结果发布到SonarCloud

  9. 9

    在Rails 4.2下不对特定的单元测试使用夹具

  10. 10

    如何将静态URL重定向到Rails资源

  11. 11

    如何将嵌套的json对象从angular传递到rails

  12. 12

    如何将数据传递到视图Rails

  13. 13

    Rails:如何将数据从Ruby传递到Javascript

  14. 14

    如何将嵌套的json对象从angular传递到rails

  15. 15

    如何将变量的值从javascript传递到rails

  16. 16

    测试期间将夹具数据复制到iOS应用

  17. 17

    您如何将特定的工件从Jenkins部署到Nexus?

  18. 18

    如何将特定的C模块移植到Python 3?

  19. 19

    如何将特定的动态页面重定向到主页

  20. 20

    如何将JFrame固定到特定位置?

  21. 21

    GMSIndoorDisplay:如何将更改强制到特定楼层

  22. 22

    如何将URL定位到特定位置

  23. 23

    如何将特定页面重定向到http

  24. 24

    如何将网关绑定到特定的名称空间?

  25. 25

    如何将多个onclick函数绑定到特定节点?

  26. 26

    如何将ActiveX按钮锁定到特定的列索引

  27. 27

    如何将CSS ID定位到特定的HTML标签

  28. 28

    如何将特定项目对齐到<li>

  29. 29

    如何将Python套接字绑定到特定域?

热门标签

归档