I am trying to take a test-driven approach to a script I am writing.
The script needs to connect to SQLServer using DBI.
Currently it looks like this:
class BurndownTests < Test::Unit::TestCase
def setup
db = DBI.connect("DBI:ODBC:driver={SQL
Server};Server=INPSESVER1;Database=RMT;Trusted_Connection=yes;")
end
def teardown
db.disconnect
end
def test_connectrmtrack
pass
end
def test_export_schedule
pass
end
def test_format_datecols
pass
end
def test_count_resolutions
pass
end
def test_dumptofile
pass
end
end
The issue with this is that using setup like this, from what I
understand is used for each new test method I add. As I want to connect,
test the connection and then run tests which have a reliance on the
connection being established, how can I do a onetime setup and then test
this?
···
--
Posted via http://www.ruby-forum.com/.
Somewhat lame, but this might do what you're looking for:
class BurndownTests < Test::Unit::TestCase
@@db = nil
@@done_with_db = false
def setup
db =DBI.connect(.......) if not @@db
end
def teardown
db.disconnect if @@done_with_db
end
def test_zzzzzz_should_be_the_last_test_run_due_to_zzzzzz
@@done_with_db = true
end
# continue on with tests that use @@db ....
Jeff
···
On 8/31/07, Max Russell <thedossone@gmail.com> wrote:
I am trying to take a test-driven approach to a script I am writing.
The script needs to connect to SQLServer using DBI.
Currently it looks like this:
class BurndownTests < Test::Unit::TestCase
def setup
db = DBI.connect("DBI:ODBC:driver={SQL
Server};Server=INPSESVER1;Database=RMT;Trusted_Connection=yes;")
end
def teardown
db.disconnect
end
def test_connectrmtrack
pass
end
def test_export_schedule
pass
end
def test_format_datecols
pass
end
def test_count_resolutions
pass
end
def test_dumptofile
pass
end
end
The issue with this is that using setup like this, from what I
understand is used for each new test method I add. As I want to connect,
test the connection and then run tests which have a reliance on the
connection being established, how can I do a onetime setup and then test
this?
--
Posted via http://www.ruby-forum.com/\.
Woops. Typos. Should have been:
class BurndownTests < Test::Unit::TestCase
@@db = nil
@@done_with_db = false
def setup
@@db = DBI.connect(.......) if not @@db
end
def teardown
@@db.disconnect if @@done_with_db
end
def test_zzzzzz_should_be_the_last_test_run_due_to_zzzzzz
@@done_with_db = true
end
# continue on with tests that use @@db ....
Jeff
···
On 9/5/07, Jeff - Burly Systems <jeff.burly@gmail.com> wrote:
Somewhat lame, but this might do what you're looking for:
class BurndownTests < Test::Unit::TestCase
@@db = nil
@@done_with_db = false
def setup
db =DBI.connect(.......) if not @@db
end
def teardown
db.disconnect if @@done_with_db
end
def test_zzzzzz_should_be_the_last_test_run_due_to_zzzzzz
@@done_with_db = true
end
# continue on with tests that use @@db ....
Jeff
On 8/31/07, Max Russell <thedossone@gmail.com> wrote:
> I am trying to take a test-driven approach to a script I am writing.
>
> The script needs to connect to SQLServer using DBI.
> Currently it looks like this:
>
>
> class BurndownTests < Test::Unit::TestCase
>
> def setup
> db = DBI.connect("DBI:ODBC:driver={SQL
> Server};Server=INPSESVER1;Database=RMT;Trusted_Connection=yes;")
> end
>
> def teardown
> db.disconnect
> end
>
> def test_connectrmtrack
> pass
> end
>
> def test_export_schedule
> pass
> end
>
> def test_format_datecols
> pass
> end
>
> def test_count_resolutions
> pass
> end
>
> def test_dumptofile
> pass
> end
>
> end
>
> The issue with this is that using setup like this, from what I
> understand is used for each new test method I add. As I want to connect,
> test the connection and then run tests which have a reliance on the
> connection being established, how can I do a onetime setup and then test
> this?
> --
> Posted via http://www.ruby-forum.com/\.
>
>
This is what I use for such types of things:
$db = DBI...
at_exit { at_exit { $db.disconnect } } # guaranteed to run AFTER test/unit is done
# ...stuff...
···
On Sep 5, 2007, at 10:06 , Jeff - Burly Systems wrote:
class BurndownTests < Test::Unit::TestCase
@@db = nil
@@done_with_db = false
def setup
db =DBI.connect(.......) if not @@db
end
def teardown
db.disconnect if @@done_with_db
end