- 在测试中访问cookie的值必须要用这种形式: cookies['key'].value.first, 例如cookies['auth_token'].value.first。这里应注意两点, 一是在测试中访问cookie必须要用String作为key, 不能用Symbol(在controller中既可以用String,也可以用Symbol);二是要取得值必须调用value方法,但返回的是数组类型, 所以还要调用first方法。
- 有时我们在测试中想证明某个cookie值为nil, 我们可能这样写
ruby 代码
- assert_nil cookies['auth_token'].value.first
如果你在被测代码中调用了cookies.delete 'auth_token' 时,上面的assert代码不会有问题, 但如果没有,上面的assert代码会抛出error, 因为这时cookies['auth_token']的值为nil。所以我们可以这样写上面的assert代码:
ruby 代码
- assert_nil cookies['auth_token'] && cookies['auth_token'].value.first
- 下面是一段partial代码_password_field_row.rb(摘自RailsSpace):
ruby 代码
- <div class="form_row" >
-
- <%= form.password_field field, :size => User::PASSWORD_SIZE, :maxlength => User::PASSWORD_MAX_LENGTH %>
- </div>
在测试register.rhtml时会抛出error,大致意思是说在partial中变量field_title没有定义。这是因为在测试环境中如果在调用partial时不显示的标明field_title变量, 会认为field_title没有定义(在非测试环境中却没有这个问题)。可以用defined?方法解决这个问题
ruby 代码
- <% field_title = nil if not defined?(field_title) -%>
-
-
- <%= form.password_field field, :size => User::PASSWORD_SIZE, :maxlength => User::PASSWORD_MAX_LENGTH %>
分享到:
相关推荐
3. **测试准备**:建立全面的测试覆盖,确保升级过程中不会引入新的错误。 4. **逐步升级**:按照官方文档的建议,分阶段进行升级操作。 5. **性能调优**:完成升级后,对应用程序进行性能评估和优化。 #### 四、...
《Rails反模式:最佳实践与Ruby on Rails重构》是一本由Chad Pytel和Tammer Saleh撰写的书籍,深入探讨了在Ruby on Rails开发过程中常见的反模式,并提供了相应的最佳实践和重构策略。本书旨在帮助开发者识别并避免...
- **MVC架构**:深入讲解Rails中的Model-View-Controller架构模式,解释每个组成部分的作用及它们之间的交互方式。 - **数据库操作**:包括Active Record的基础用法、高级查询技巧以及数据库迁移的管理方法等。 - **...
在一个过程中开发您的Rails API和Ember前端 将Rails生成的内容注入您的EmberCLI应用程序 通过从单个域提供EmberCLI应用程序和API来避免跨域资源共享陷阱 编写真正的端到端集成测试,通过启用JavaScript的Capybara...
7. **Testing**:Rails鼓励TDD(测试驱动开发),提供了诸如RSpec、Cucumber、MiniTest等测试框架,确保代码的质量和稳定性。 8. **Gem**:Ruby的包管理系统Gem是Rails生态的重要组成部分,它允许开发者通过安装和...
总的来说,《值得信赖的在线控制实验》是一本实用性极强的指南,它不仅适用于初学者,也适合有经验的从业者,帮助他们在A/B测试中避免陷阱,提高实验的质量和效率,从而更好地推动创新和数据驱动的决策。
有时,Rails迁移不仅会更改数据库架构,还会更改数据。 而且该代码更改数据可能已过时且失败。 有一些技术可以帮助避免这些陷阱。 例如,在迁移中定义模型类或编写原始SQL。 但是它们不能在所有情况下提供帮助,也...
- **测试与调试**:教授如何编写测试代码以及调试技巧。 - **最佳实践**:分享Ruby编程的最佳实践和常见陷阱避免方法。 #### 书籍特色 - **清晰的组织结构**:按照学习曲线精心安排章节顺序,使读者能够循序渐进地...
可能涉及的话题有Ruby的基础语法、常见的编程陷阱、如何利用Gem(Ruby的包管理器)安装和管理依赖,或者是关于Ruby on Rails的实战经验分享。 标签“源码”可能暗示着这篇博客会深入到Ruby的源码层面,讨论其内部...
8. **问题解决和调试技巧**:分享在开发过程中遇到的问题及其解决方案,帮助读者避免常见陷阱。 通过阅读这个博客,无论是初学者还是经验丰富的开发者,都能从中获取到宝贵的Ruby和Rails开发经验,学习到新的编程...
Gorgon提供了一种方法来分配运行ruby测试套件的工作量。 它依靠amqp进行消息传递,并依靠rsync进行源代码同步。 安装Gorgon 本说明了如何在示例应用程序中安装gorgon。 将侦听器安装为守护进程(Ubuntu 9.10或更高...
书中不仅详细讲述了如何结合使用各种标准web技术如javascript、html、css和xmlhttprequest开发ajax应用,而且涵盖了调试、测试、文档、验证等工具,以及相关的模式、框架、应该避免的陷阱。阅读本书,再加上已有的...
1. **简洁的语法**:Go语言的语法简洁明了,易于学习,同时也避免了一些其他语言中的常见陷阱。 2. **并发支持**:Go语言通过goroutines和channels提供了内置的并发支持,使得编写高并发程序变得简单。 3. **垃圾...
- **避免全局变量**:全局变量是多线程编程中最常见的陷阱之一,应尽量避免使用,以免引发线程安全问题。 - **创建更多对象而非共享单一对象**:通过创建多个实例来替代共享一个对象,可以降低数据竞争的风险。 - **...
4. **测试驱动开发(TDD)**:Ruby社区强调TDD,可能会看到Rspec、MiniTest等测试框架的使用示例。 5. **代码优化**:如何编写高性能的Ruby代码,避免常见性能陷阱。 6. **Ruby最佳实践**:代码风格指南、命名约定、...
6. **测试驱动开发(TDD)**:TDD 是 Ruby 社区广泛采用的开发实践,书中的例子可能包括使用 RSpec 或 MiniTest 等测试框架进行 TDD。 7. **Web 开发**:Ruby 与 Rails 框架紧密关联,书中可能包含关于 Web 应用开发...
* 《C 和指针》、《C 缺陷和陷阱》、《C 专家编程》是初级 C 程序员必看的三本书,也是应届新员工必须好好学习的教材,非常适合刚毕业的大学生学习。 C++语言 * 《Effective C++:改善程序与设计的 55 个具体做法...