1.stub meet "one to many" relationship
Here is the code:
describe "original_content" do
it "should generate page_group's original_content" do
page_group = PageGroup.create
page1 = page_group.pages.create
page1.stub!(:content).and_return("page1 content")
page2 = page_group.pages.create
page2.stub!(:content).and_return("page2 content")
page3 = page_group.pages.create
page3.stub!(:content).and_return("page3 content")
page_group.stub!(:pages).and_return([page1, page2, page3])
page_group.original_content.should == "page1 content\n\n===\n\npage2 content\n\n===\n\npage3 content\n\n"
end
end
kind of ugly.
This page_group.stub!(:pages).and_return([page1, page2, page3])
is the way I found to solve stub when have "one to many" relationship.
Is there a better way to do this, and how to refator the duplication?
2. params in stub
PreparationPage.stub!(:create_from_content).with("part1").and_return(page1)
分享到:
相关推荐
Adding New Hardware for Avaya
局部指数稳定性定理及证明、中值定理、加权积分器详细介绍
Central Processing Units (CPUs) now improve performance by adding multiple cores. Graphics Processing Units (GPUs) have also evolved from fixed function rendering devices into programmable parallel ...
标题 "A tutorial on adding columns to Explorer’s details view via" 是一篇关于如何通过列处理程序外壳扩展在Windows资源管理器(Explorer)的详细视图中添加自定义列的教程。这通常涉及到增强Windows操作系统中...
Adding white noise to a signal with fixed SNR
#include "stdafx.h" #include "iostream" #include "fstream" #include "algorithm" #include "string" #include "vector" #include "cmath" using namespace std; int main(int argc, char* argv[]) ...
标题“Taking the pain out of adding a horizontal scrollbar to a listbox”指向的就是这样一个问题:如何优雅地为列表框添加水平滚动条,以提升用户体验。这里我们将详细探讨这个主题,并提供一些实践技巧。 ...
Adding Password Management to Your Templates(cloudstack)
adding: lua5.3.5-x86/lua.exe (in=14336) (out=7311) (deflated 49%) adding: lua5.3.5-x86/lua.o (in=24873) (out=9654) (deflated 61%) adding: lua5.3.5-x86/lua5.3.5-static.lib (in=662596) (out=244441) ...
"Adding Drop down navigation"是关于如何在Android应用程序中实现这种功能的一个主题,通常与Action Bar紧密相关。Action Bar是Android系统中一个重要的界面组件,它位于应用顶部,用于显示应用的标识、标题以及...
chm格式的,非常好的一本书,大家可以收藏!!有价值啊!!
"Adding Classifications to Web Services"这个过程涉及到将Web服务在SAP NetWeaver Developer Studio中进行分类,以符合SAP的分类系统。 分类(Classifications)的主要目的是让Web服务在服务注册表(Services ...
标题中的"Proj1_1_output_arithmetic_adding_TheProgram_simplest_"暗示这是一个项目的第一部分,专注于输出算术加法的程序,而且是最简单的实现。这个项目可能是一个初学者编程练习,目标是编写一个能够计算两个数...
在Linux操作系统中,系统调用是用户空间与内核空间交互的主要途径,它们提供了一种安全、高效的方式,使得应用程序可以访问操作系统的核心功能。本文档将深入探讨如何在Linux内核中添加一个新的系统调用,这是一项...
解决Adding 'enum value' will prevent the debug session from continuing.zip
在这份标题为“Allegro tips_tricks.pdf”的文档中,由Cadence公司的工程师总结了Allegro PCB编辑器中的一些技巧和窍门。这些技巧有助于提升设计效率,优化设计流程,并解决一些常见问题。接下来,我将详细地逐一...
信息安全_数据安全_Adding Social Intelligence to Smart Devices 应急响应 内外威胁 工控安全 web安全 数据脱敏
标题中的“Some handy functions for adding and deleting submenus and me”暗示了这是一组实用的程序功能,主要用于在运行时动态地添加和删除菜单及其子菜单。在编程领域,特别是使用某些高级编程语言如C++、...