# Rails without a db - how to run tests

**URL:** <https://www.ruby-forum.com/t/rails-without-a-db-how-to-run-tests/50851>\
**Category:** Rails\
**Created:** [December 21, 2005, 9:46pm UTC](https://www.ruby-forum.com/t/rails-without-a-db-how-to-run-tests/50851 "2005-12-21T21:46:28Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![pergesu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/22d042/32.png) [@pergesu](https://www.ruby-forum.com/u/pergesu)\
**Post date:** [December 21, 2005, 9:46pm UTC](https://www.ruby-forum.com/t/rails-without-a-db-how-to-run-tests/50851/1 "2005-12-21T21:46:28Z")

</div>

I’m writing a simple app that doesn’t need to use a database. I added  
:active\_record to the config.frameworks -= line in environment.rb  
file. This lets me run ./script/generate fine without complaining  
about no connection. However if I try to run a functional test, it  
complains about no connection being established. Well…I don’t want  
a connection to be established. I’ve tried overriding  
Fixtures#teardown to be blank, but that doesn’t do anything. The  
actual error is:

1. Error:  
test\_get\_convert(HhconvControllerTest):  
ActiveRecord::ConnectionNotEstablished:  
ActiveRecord::ConnectionNotEstablished  
/usr/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active\_record/connection\_adapters/abstract/connection\_specification.rb:111:in  
`retrieve_connection' /usr/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:20:in`connection’  
/usr/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active\_record/fixtures.rb:508:in  
`teardown_with_fixtures' /usr/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/fixtures.rb:531:in`teardown’  
/usr/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active\_record/fixtures.rb:529:in  
`teardown’

I put this in my test\_helper.rb file:  
class Fixtures  
def teardown() end  
end

No luck though. I’d like to be able to run unit tests on my models  
and functional tests on my controllers. I don’t see why it needs a  
database to do that. Can anyone offer me any pointers?

Thanks,  
Pat

---

<div class="post-metadata">

**Author:** ![pergesu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/22d042/32.png) [@pergesu](https://www.ruby-forum.com/u/pergesu)\
**Post date:** [December 22, 2005, 4:36pm UTC](https://www.ruby-forum.com/t/rails-without-a-db-how-to-run-tests/50851/2 "2005-12-22T16:36:25Z")

</div>

Perhaps not exactly the answer you’re looking for, but what I did in a  
similar case (my Rails app was hitting web services for data) is to  
use sqlite memory db for testing. Keep in mind you need to have sqlite  
installed.

test:  
adapter: sqlite3  
database: “:memory:”

Hope it helps,  
Obie

---

<div class="post-metadata">

**Author:** ![pergesu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/22d042/32.png) [@pergesu](https://www.ruby-forum.com/u/pergesu)\
**Post date:** [January 24, 2006, 11:57am UTC](https://www.ruby-forum.com/t/rails-without-a-db-how-to-run-tests/50851/3 "2006-01-24T11:57:47Z")

</div>

Well I got something figure out finally…haven’t been working on it  
this whole time, but I decided to give it another go tonight. You can  
check it out on my blog:  
[http://www.flpr.org/articles/2006/01/24/database-less-testing](http://www.flpr.org/articles/2006/01/24/database-less-testing)

If anyone can tell me how to make resources show up in the browser  
instead of prompt a download dialog, I’d really appreciate it 🙂 I’ve  
tried setting the content type to text/plain, but no luck apparently.

Anyway, hope someone finds this useful.

Pat

---

<div class="post-metadata">

**Author:** ![pergesu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/22d042/32.png) [@pergesu](https://www.ruby-forum.com/u/pergesu)\
**Post date:** [January 24, 2006, 11:57am UTC](https://www.ruby-forum.com/t/rails-without-a-db-how-to-run-tests/50851/4 "2006-01-24T11:57:48Z")

</div>

Hey Obie,

I spent some more time on this tonight and think I may have found a  
solution. Thought you might be interested:  
[http://www.flpr.org/articles/2006/01/24/database-less-testing](http://www.flpr.org/articles/2006/01/24/database-less-testing)

Pat

---

<div class="post-metadata">

**Author:** ![pergesu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/22d042/32.png) [@pergesu](https://www.ruby-forum.com/u/pergesu)\
**Post date:** [January 24, 2006, 4:54pm UTC](https://www.ruby-forum.com/t/rails-without-a-db-how-to-run-tests/50851/5 "2006-01-24T16:54:45Z")

</div>

What did you use to format the Ruby source code you posted with color  
highlighting?

Curt

---

<div class="post-metadata">

**Author:** ![pergesu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/22d042/32.png) [@pergesu](https://www.ruby-forum.com/u/pergesu)\
**Post date:** [January 24, 2006, 9:56pm UTC](https://www.ruby-forum.com/t/rails-without-a-db-how-to-run-tests/50851/6 "2006-01-24T21:56:17Z")

</div>

\<typo:code lang=“ruby”\>  
cool ruby code here  
\</typo:code\>

---

<div class="post-metadata">

**Author:** ![pergesu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/22d042/32.png) [@pergesu](https://www.ruby-forum.com/u/pergesu)\
**Post date:** [January 24, 2006, 10:59pm UTC](https://www.ruby-forum.com/t/rails-without-a-db-how-to-run-tests/50851/7 "2006-01-24T22:59:50Z")

</div>

Cool… you’re running a newer version of typo than I am. I gotta get  
myself upgraded!

Curt
