首先定义模型, User和Article为一对多的双向关联。
@Entity
public class User {
@Id
@GeneratedValue
private int id;
private String name;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
@Entity
public class Article {
@Id
@GeneratedValue
private int id;
private String title;
@ManyToOne
private User user;
然后将fixture定义在spring的context中,如下:
<bean id="me" class="com.springfixture.domain.User">
<property name="name" value="admin"/>
<property name="articles">
<set>
<ref bean="article"/>
<ref bean="aboutTest"/>
</set>
</property>
</bean>
<bean id="article" class="com.springfixture.domain.Article">
<property name="title" value="spring fixtures guide"/>
<property name="user" ref="me"/>
</bean>
<bean id="aboutTest" parent="article">
<property name="title" value="How to test"></property>
</bean>
然后在测试类中:
//加载数据
@Before
public void loadData(){
new SpringFixture(this.sessionFactory).loadData(this);
}
//注入单个测试对象, “me”为bean的名称
@Fixture("me")
private User user;
//也可以直接作为变量名
@Fixture
private User me;
//注入多个对象
@Fixture(type=Article.class)
private List<Article> articles;
最后请看看源代码,有什么好的建议一起研究研究,谢谢!
分享到:
相关推荐
Spring是Rails的预加载器。Spring 能够通过保持应用运行在后台,来提升开发模式下的速度。使得不需要在执行test,rake task以及migration时每次都加载。 标签:Spring
- **驭件和桩件**:使用Stub和Mock等技术来模拟外部依赖,减少测试运行时间。 - **使用Guard和Spork自动测试**:Guard和Spork是一些自动化测试工具,可以在修改代码后自动运行测试,提高开发效率。 - **标签**:使用...
在本篇内容中,我们将深入探讨如何利用Ruby on Rails(简称Rails)这一强大的Web应用程序框架来构建可伸缩且易于维护的RESTful API。Rails以其简洁优雅的语法、高效的开发速度以及良好的社区支持而闻名,这使得它...
为了运行和测试应用,你需要在命令行中使用Rails服务器。在Aptana中,可以使用内置的终端工具。打开“Terminal”视图,输入`rails server`启动服务器,然后在浏览器中访问`http://localhost:3000`查看你的应用。 在...
在本项目中,我们探讨了如何使用Ruby on Rails 5框架构建一个社交网络平台,并集成Devise进行身份验证。Rails是基于MVC(模型-视图-控制器)架构模式的开源Web应用程序框架,它使开发者能够高效地创建数据驱动的网站...
在Rails中,你可以使用RSpec或其他测试框架来测试Rails部分。对于Go服务,可以使用Go的内置测试框架进行测试。`GoOnRails`还支持生成测试文件,便于测试Go代码。 ### 9. 部署与监控 部署时,通常会将Rails应用和Go...
- **测试驱动开发(TDD)**:本书推荐采用测试驱动开发的方法来构建测试,即先编写测试,然后编写使其通过的代码。这种方法有助于开发者保持代码的清晰性和简洁性。 - **分离关注点**:为了提高测试的效率,应该将不同...
Spring Data GemFire提供了高级数据访问和管理功能,使得开发人员能够利用GemFire的强大功能,如分布式缓存、数据分区、事件监听和事务处理,来构建高性能、高可用的应用程序。 Spring Data GemFire的主要特性包括...
这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...
创建测试代码时,当使用 Rails 的 `scaffold` 生成器时,RSpec 会自动生成相应的测试代码到 `spec` 目录下。如果需要为视图、助手等创建测试,可以直接在相应目录下创建 `.spec.rb` 文件。 执行测试用例,只需要在...
总的来说,Windows环境下搭建Ruby on Rails开发环境虽然相比Unix或Linux系统可能稍显复杂,但通过以上步骤,你将能够成功构建并开始你的Rails开发之旅。记得在遇到问题时查阅官方文档和社区资源,这将帮助你快速解决...
这一章节将教授如何使用Rails的测试框架进行单元测试、集成测试和功能测试。同时,也会介绍如何对应用进行基准测试,评估其性能表现。 #### 12. Deployment and Production Use(部署和生产使用) 最后,本书将...
Cucumber-Rails集成了Cucumber与Rails,使得开发者能够在Rails环境中方便地使用Cucumber进行功能测试。 在 Rails 应用中使用 Cucumber-Rails,开发者可以创建一个名为`features`的目录,里面包含这些Gherkin特性...
通过阅读和研究Ruby on Rails API文档,开发者可以深入了解Rails的工作原理,学习如何有效地利用其特性来构建高性能、可维护的Web应用。同时,CHM格式的文档使得这些知识可以随时随地查阅,无需互联网连接,对开发者...
构建Perfect Rails 5 API Only应用得益于作为Rails 5核心一部分提供的新的rails-api gem,Rails现在是快速,轻松构建精简API... 本使用指南旨在帮助您正确使用Rails 5来构建完美的API,并包括以下部分: 屏幕截图设置Ra
总的来说,`Go-testfixtures` 是Go开发中测试数据库应用程序的强大助手,它让数据库测试变得简单且高效,降低了因数据状态不一致导致的测试错误。对于任何涉及数据库操作的Go项目,都值得考虑将其纳入测试流程。
Ruby-APITaster是一款强大的工具,专为Rails应用的API测试和可视化设计。它使得开发者能够迅速地对API接口进行互动式测试,从而确保API的功能正确性和性能稳定性。这款工具的出现,极大地简化了API测试过程,提高了...
在软件开发中,测试是确保...通过本文的探讨,我们了解到了Rails中单元测试和功能测试的区别,以及如何利用Rails的测试工具来编写高质量的测试代码。掌握这些知识,将有助于开发者在Rails项目中实施有效的测试策略。