- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须在现有项目中使用 Rails fixtures。切换到 FactoryGirl
等不是一个选项。
在我的固定装置中,我通常有一些通用一次(在生产数据库中最常出现的记录)加上相当一部分用于测试边缘情况的固定装置。对于博客应用程序,后者可能是没有帖子的博客、有一段时间没有活跃的博客,或者没有关注者的博客。
与尝试尽可能多地重用现有夹具相比,您对为每个极端情况创建一组单独的夹具记录有何看法?后者可能包括对特定方法的模拟/ stub 调用(例如 Account.any_instance.expects(:post_limit).returns(1000)
和 Mocha
),甚至创建与应用程序逻辑(例如,当您的应用程序只允许每个帐户有一个用户时,每个帐户有多个用户)。
最佳答案
我避免为不常见的用例创建数据装置。但是,如果我有几个场景在应用的多个部分进行检查,那么我会在固定装置中创建它们,因为我认为它是应用测试语言的一部分。
对于边缘情况,我在测试中创建数据。通过修改已知的夹具记录,或通过创建满足边缘案例标准的新记录。您不需要像 Factory Girl 这样的工具来创建可重用的工厂。 (每个 ActiveRecord 模型都是一个工厂。)您可以在模块中创建一些命名良好的方法,然后将其包含在您的测试类中。
我不会像您概述的那样 mock 您的模型。我会在测试中创建记录,然后测试应用程序是否正确运行。
def test_lots_of_posts
account = new_account_with_n_posts 100
assert(account.posts > 5)
end
def new_account_with_n_posts count
account = Account.create! name: "Temp Account"
count.times do |n|
account.posts.create! title: "Temp Post #{n}"
end
account
end
关于ruby-on-rails - 是否值得尝试尽可能多地重用测试夹具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26910976/
我知道在 KDB 中,如果您有一个列表,例如... l:`apples`oranges`pears` 您可以像下面这样进行 N 次随机选择: 9?l 但是如何尽可能均匀地选择列表中的每个项目? 最佳答
我真的厌倦了它。我有一个高级 Web 应用程序依赖于大量 Javascript 库(jQuery、jQueryUI、OpenLayers、highcharts、EJSChart 等等)。不用说,Int
我是一名优秀的程序员,十分优秀!