2012-02-11 81 views
1

我刚刚开始做TDD(基本上测试一般,所以请耐心等待)。我下面The Rails Tutorial,我现在在规范文件夹中的以下内容:RSpec永远需要

require 'spec_helper' 

describe PagesController do 

    describe "GET 'home'" do 
    it "returns http success" do 
     get 'home' 
     response.should be_success 
    end 
    end 

    describe "GET 'contact'" do 
    it "returns http success" do 
     get 'contact' 
     response.should be_success 
    end 
    end 

end 

从当我点击播放按钮,说我要运行的测试,直到它完成需要38.75秒的全过程!这两个测试需要6.0053秒。 Ruby-land中发生了什么?

我还不知道这是集成测试还是单元测试,但我读了一篇关于用集成测试制作一个目录和用单元测试制作一个目录的文章。我在装有Windows 7和SSD的PC上使用RubyMine。如果我每次运行测试需要等待40秒,我该如何进行TDD?

+0

您正在使用哪个Ruby版本? Ruby 1.9.3在启动时间方面获得了重大提升。这可能会有所帮助。 – Jan 2012-02-11 18:01:34

+0

运行红宝石1.9.3 – LuckyLuke 2012-02-11 18:04:11

+0

为什么任何人关闭这个“不”适合问答。小心解释。 – LuckyLuke 2012-02-11 18:05:02

回答

2

因为每次你自动测试或rspec测试你的Rails测试时,它都需要加载整个Rails环境。以避免重新加载每个测试整个Rails环境的一种方法是使用叉勺

Spork Docs

Spork Railscasts by Ryan Bates

和大量覆盖约Rspec的,以及如何在设置它:

Ruby On Rails Tutorial book by Michael Hartl

+1

当您使用Windows时,您不能使用Spork。 – LuckyLuke 2012-02-11 18:07:35

+0

它也不应该花那么长时间来首先加载环境。 – 2012-02-11 18:26:52

+0

守卫(守卫叉)如何?我没有Windows PC。但等待很不方便... – 2012-02-11 18:36:44