-
如何做 Rails 遗留数据库多表关联的 unit test5
手上的项目是一个遗留系统。要在尽量保持原有数据库结构的情况下,用rails改写。
其中有些表是多表关联。而且在数据库中也存在数据丢失的情况。
就是说一个表里面的 foreign key 的值可能在另外那个表里面已经被删除了。
例如在 Rails 里: A has_one B, A和B 都有很多attributes.
如果
B.A 是nil
那么 B.A.attributes就会报错。nil.attributes
如果是 C has_many A的话,就更麻烦了。
B.A.C.attributes 就更可能出错了。
现在我采取的办法是用begin/rescue。
可是我想在做test的时候,把这些隐藏的问题找出来。
一可以修复数据库,二可以全面找出问题的所在。
但是在rails unit test.
fixtures引入的是yml文件。
问题:
1。如何在unit test 时引入全部数据?
2。如何做多表关联的测试?
3。在controller,model 和view 里面有没有比begin/rescue更好的方法?2008年6月09日 16:28
相关推荐
在开发Web应用时,Rails框架和MySQL数据库的集成是一个常见的选择。然而,有时在尝试连接Rails应用到MySQL数据库时,可能会遇到一些问题。本篇文章将深入探讨这些常见问题及其解决方案。 首先,Rails与MySQL的连接...
Rails的ActiveRecord库提供了方便的数据模型抽象,使得开发者可以使用Ruby代码轻松操作数据库表。 总的来说,配置Ruby on Rails的数据库涉及到安装必要的数据库驱动和Rails框架,然后在`database.yml`文件中正确...
本文将深入探讨 Redmine 的主要数据库表结构及其关联关系。 1. **用户(User)**: `users` 表包含了用户的个人信息,如 `auth_source_id` 用于标识用户认证来源,`hashed_password` 存储经过哈希处理的密码,`last_...
Ruby on Rails:数据库设计与迁移教程.docx
在Ruby on Rails(Rails)框架中,数据库表之间的关联是数据模型的核心部分,它使得开发者可以轻松地处理复杂的数据库操作。Rails提供了四种基本的关联类型:` belongs_to`、` has_one`、` has_many` 和 `has_and_...
### Rails 4 Test Prescriptions — 构建健康代码库 #### 一、书籍概述与价值 《Rails 4 Test Prescriptions》是一本专注于教授开发者如何为Rails应用编写测试的书籍,作者Noel Rappin凭借多年的经验提炼出了一...
labrador, Rails 开发数据库的忠实数据检索器 v0.2.1用于 Rails 开发数据库的忠实数据库( 未知) 客户端。安装拉布拉多可以通过一个聚合 shell 命令的单一拷贝来安装。 详细说明可以在拉布拉多网站的主页上找到。插件...
在这种背景下,“Ruby-Multiverse”应运而生,它为Rails应用程序提供了优雅地支持多数据库的能力。本文将深入探讨Multiverse的核心功能、如何集成以及它为Rails开发带来的优势。 Multiverse是针对ActiveRecord的一...
"Ruby-ApartmentRack和Rails应用的数据库多租户"这一主题旨在探讨如何使用Apartment gem来实现这样的功能。Apartment是Ruby社区中广泛使用的库,它为Rack(包括Rails)应用提供了简单的多租户支持。 Apartment gem...
Redmine是一款开源的项目管理工具,它基于Ruby on Rails框架构建,被广泛用于软件开发团队进行任务跟踪、问题管理以及项目协作。...总的来说,熟悉Redmine的数据库表结构是进行有效开发和维护的基础。
通过阅读本书,无论是新手还是有经验的开发者都能学到很多关于如何在 Rails 应用中进行测试的宝贵经验。本书强调了思考测试策略的重要性,并提供了实用的技巧来帮助开发者创建既高效又可靠的测试套件。
Test the component parts of a Rails application, including the back-end model logic and the front-end display logic. With Rails examples, use testing to enable your code to respond better to future ...
Ruby on Rails 安装及 MySQL 数据库配置指南 本文详细介绍了 Ruby on Rails 的安装步骤,以及 MySQL 数据库的配置方法,并提供了一些官方阅读资源。 一、Ruby on Rails 安装 Ruby on Rails 的安装可以分为以下几...
总的来说,SecondBase是Rails开发中的一个重要工具,它为多数据库环境下的应用提供了便利,简化了开发流程,提高了代码的可维护性和项目的扩展性。如果你的Rails应用需要处理复杂的数据分布,那么SecondBase是一个...
9. **测试驱动开发(TDD)**:Rails鼓励TDD,书中可能包含测试代码,如使用RSpec或Test::Unit进行单元测试和功能测试。 10. **敏捷开发**:敏捷开发是一种迭代、增量的软件开发方法,强调灵活性和客户满意度,书中会...
### Ubuntu 11.04下Ruby on Rails与MySQL数据库集成指南 #### 一、安装与配置MySQL数据库 在Ubuntu 11.04环境中,安装MySQL数据库是部署Ruby on Rails应用的重要步骤之一。首先,通过打开终端并执行以下命令进行...
Rails内置了测试框架,包括Unit Test、Functional Test和Integration Test。2.0版本对测试环境进行了优化,使得测试编写更加方便,有助于确保代码质量。 8. **插件(Plugins)** Rails允许开发者通过插件扩展其功能...
9. **测试支持**:Rails内置了测试框架,如Test::Unit和RSpec,提供模型、控制器和功能测试的支持,鼓励TDD(测试驱动开发)和BDD(行为驱动开发)。 10. **社区和生态系统**:Rails拥有庞大的开发者社区,产生了...