1. A

3. NUnit2

4. To facilitate debugging, we use the <solution> task. In some cases, we need some prebuild and postbuild steps in VS to support things like using CodeSmith for our codegeneration.

5. Use NReport to compile them and feed them to CruiseControl (or Draco if you want). CruiseControl then e-mails results as needed, and facilitates storing them.

6. I’ll cover the high points briefly as this isn’t a “how do I test” mailing list. If you have other questions, it may be recommended to ask offlist.

 

I’m not facing this problem now, but when I worked at Oracle, the solution my team came up with was to have a _transient_ gold set of tables exported to a fileset.  Gold files become a maintenance nightmare very quickly, but I’m willing to bear the expense of transient ones and a very few select gold files.

 

Testcases look like (all *automated* as part of the testing except, probably, for the Setup portion, which is one time anyways):

  • The whole setup issue is completely dependant on what your product does and doesn’t do, does it expect a DB to be pre-existing and preconfigured? Or not. Etc.
  • Setup (one time per DB version)
    • Install your DB and backup/export the whole thing to the filesystem. Drop all tables and verify it can be properly restored.
    • Backup the default configuration files.
  • Initialization
    • Drop all DB tables (related to the product under test)
    • Configure the DB as needed
    • Install the product under test
    • Back up the product-specific tablespace to a fileset
      • THIS MUST BE TRANSIENT and done w/ every product delivery to ensure the right tablespace exist for the version under test.
      • Nothing already exists to do this?  There’s a defect in your product delivery already.
  • Testing (per test suite/app/case as needed)
    • Clean up
      • drop product AND ALL modified tables
        • Not sure? Just nuke the whole DB and restore both the default DB and the transient product table backup.
      • Restore dropped tables
    • Test (and the steps included intrinsically)
      • A JDBC connection is a good start to verifying content
      • You have to know what’s supposed to happen in order to be able to validate it.
    • Clean up
    • Test, …
  • Clean Up
    • Uninstall the product
      • Are the DB tables supposed to be nuked or left there?
    • Restore the DB/config files as warranted (again, solution specific. If you’re doing upgrade testing, bear in mind that this would be a mistake).

 

Eric D

 

  

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jaroslaw Kowalski
Sent: Sunday, December 12, 2004 10:05 AM
To: [EMAIL PROTECTED]
Subject: [Nant-users] NUnit with NAnt

 

Hi guys,

 

I'd like to know how do you use NUnit with NAnt?

 

Specifically (I'd like to hear about pros and cons of the way you use NUnit):

 

1. Which version of nunit.framework.dll do you use:

    a) the one that comes with NAnt (framework-specific)

    b) the one installed by NUnit installer or

    c) some binary version that comes with your application

    d) some version from the GAC

 

2. What's the best way to locate the nunit.framework.dll to be used in <references> ?

 

3. Do you <exec> nunit-console.exe or use <nunit2>?

 

4. Do you support dual compilation/running of test cases (using both VS.NET and NAnt) ? How do you deal with it? What about configuration file management?

 

5. What do you do with the test results (email, store in VCS, discard)?

 

6. (this is not related to NAnt) What's the best way to test your application against a database? Do you use a separate database? How do you create it? How do you specify the configuration settings? How to you check your database contents for correctness? How do you deal with transactions in the test cases?

 

Jarek

Reply via email to