`
studyworks
  • 浏览: 16722 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用spring模拟rails的fixture来构建测试数据

    博客分类:
  • java
阅读更多
 

 首先定义模型, 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;

 

最后请看看源代码,有什么好的建议一起研究研究,谢谢!

分享到:
评论

相关推荐

    Rails预加载程序Spring-Rails.zip

    Spring是Rails的预加载器。Spring 能够通过保持应用运行在后台,来提升开发模式下的速度。使得不需要在执行test,rake task以及migration时每次都加载。 标签:Spring

    使用RSpec 测试Rails 程序.pdf

    - **驭件和桩件**:使用Stub和Mock等技术来模拟外部依赖,减少测试运行时间。 - **使用Guard和Spork自动测试**:Guard和Spork是一些自动化测试工具,可以在修改代码后自动运行测试,提高开发效率。 - **标签**:使用...

    Rails上的API:使用Rails构建REST APIAPIs on Rails: Building REST APIs with Rails

    在本篇内容中,我们将深入探讨如何利用Ruby on Rails(简称Rails)这一强大的Web应用程序框架来构建可伸缩且易于维护的RESTful API。Rails以其简洁优雅的语法、高效的开发速度以及良好的社区支持而闻名,这使得它...

    使用Aptana+Rails开发Rails Web应用(中文)

    为了运行和测试应用,你需要在命令行中使用Rails服务器。在Aptana中,可以使用内置的终端工具。打开“Terminal”视图,输入`rails server`启动服务器,然后在浏览器中访问`http://localhost:3000`查看你的应用。 在...

    使用Rails5构建的社交网络。使用devise进行身份验.zip

    在本项目中,我们探讨了如何使用Ruby on Rails 5框架构建一个社交网络平台,并集成Devise进行身份验证。Rails是基于MVC(模型-视图-控制器)架构模式的开源Web应用程序框架,它使开发者能够高效地创建数据驱动的网站...

    Ruby-GoOnRails使用Rails生成器来生成一个Golang应用

    在Rails中,你可以使用RSpec或其他测试框架来测试Rails部分。对于Go服务,可以使用Go的内置测试框架进行测试。`GoOnRails`还支持生成测试文件,便于测试Go代码。 ### 9. 部署与监控 部署时,通常会将Rails应用和Go...

    Rails 4 Test Prescriptions.pdf

    - **测试驱动开发(TDD)**:本书推荐采用测试驱动开发的方法来构建测试,即先编写测试,然后编写使其通过的代码。这种方法有助于开发者保持代码的清晰性和简洁性。 - **分离关注点**:为了提高测试的效率,应该将不同...

    spring-data-gemfire-1.3.4.RELEASE.zip

    Spring Data GemFire提供了高级数据访问和管理功能,使得开发人员能够利用GemFire的强大功能,如分布式缓存、数据分区、事件监听和事务处理,来构建高性能、高可用的应用程序。 Spring Data GemFire的主要特性包括...

    Rails项目源代码

    这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...

    RSepc rails 测试框架介绍

    创建测试代码时,当使用 Rails 的 `scaffold` 生成器时,RSpec 会自动生成相应的测试代码到 `spec` 目录下。如果需要为视图、助手等创建测试,可以直接在相应目录下创建 `.spec.rb` 文件。 执行测试用例,只需要在...

    windows下Ruby On Rails的构建

    总的来说,Windows环境下搭建Ruby on Rails开发环境虽然相比Unix或Linux系统可能稍显复杂,但通过以上步骤,你将能够成功构建并开始你的Rails开发之旅。记得在遇到问题时查阅官方文档和社区资源,这将帮助你快速解决...

    rails2-sample

    这一章节将教授如何使用Rails的测试框架进行单元测试、集成测试和功能测试。同时,也会介绍如何对应用进行基准测试,评估其性能表现。 #### 12. Deployment and Production Use(部署和生产使用) 最后,本书将...

    关于rails 3.1 cucumber-rails 1.2.0

    Cucumber-Rails集成了Cucumber与Rails,使得开发者能够在Rails环境中方便地使用Cucumber进行功能测试。 在 Rails 应用中使用 Cucumber-Rails,开发者可以创建一个名为`features`的目录,里面包含这些Gherkin特性...

    Rails API

    通过阅读和研究Ruby on Rails API文档,开发者可以深入了解Rails的工作原理,学习如何有效地利用其特性来构建高性能、可维护的Web应用。同时,CHM格式的文档使得这些知识可以随时随地查阅,无需互联网连接,对开发者...

    rails_5_api_tutorial:使用Swagger UI构建Perfect Rails 5 API Only应用程序并记录基于Rails的REST API

    构建Perfect Rails 5 API Only应用得益于作为Rails 5核心一部分提供的新的rails-api gem,Rails现在是快速,轻松构建精简API... 本使用指南旨在帮助您正确使用Rails 5来构建完美的API,并包括以下部分: 屏幕截图设置Ra

    Go-testfixtures-一个辅助工具用于实现类似Rails的测试装置来测试数据库应用程序

    总的来说,`Go-testfixtures` 是Go开发中测试数据库应用程序的强大助手,它让数据库测试变得简单且高效,降低了因数据状态不一致导致的测试错误。对于任何涉及数据库操作的Go项目,都值得考虑将其纳入测试流程。

    Ruby-APITaster一种快速而简单的方法来可视化测试你的Rails应用API

    Ruby-APITaster是一款强大的工具,专为Rails应用的API测试和可视化设计。它使得开发者能够迅速地对API接口进行互动式测试,从而确保API的功能正确性和性能稳定性。这款工具的出现,极大地简化了API测试过程,提高了...

    深入解析Rails测试策略:单元测试与功能测试的区别

    在软件开发中,测试是确保...通过本文的探讨,我们了解到了Rails中单元测试和功能测试的区别,以及如何利用Rails的测试工具来编写高质量的测试代码。掌握这些知识,将有助于开发者在Rails项目中实施有效的测试策略。

Global site tag (gtag.js) - Google Analytics