2 people following this project (follow)

Project Description
A Ruby on Rails Test Fixture port for .NET

NFixture is an 'open-source' type of .NET project aiming to provide a tool for aiding DB data integrity testing and eliminate the hassles of test data preparation and clean-up.

The aim of this project is to have a hassle-free data integrity testing in the .NET environment. Initial stage of this project will be compatible with NUnit and Visual Studio's built-in unit testing tools. Since this is to be used for the .NET environment, implementation will be done using any .NET language. Initial coding will be done using C#.

Project Features
  • Manual or Wizard Interface
To be used mainly in conjunction with unit testing tools, NFixture's attributes will be attached to a test class and test method. Attachment can be done manually for advanced users or by activating the wizard interface which leaves attachment of appropriate attributes in the right places in the code. The wizard interface can be activated by right clicking in the Visual Studio
code window. An appropriate wizard interface will be provided depending on what area of the Visual Studio code window was clicked.

The wizard can provide a list of testable tables from a database the user is connected to. Database settings and file location settings can also be set in the wizard. After being added by the wizard, NFixture's attributes can be edited manually for further tweaking and refinement.
  • Database Settings
Database settings will be stored in XML configuration files which can be edited manually using any text editor. Database settings can also be configured when the wizard is activated. Database names and table names for testing can be specified in the configurable database settings.
  • XML Data
Table schema information as well as table test data will be saved in an XML data file. XML format will be used so the file can be editable in any available text file editor. Each XML data file will contain table schema and table information for one table. For convention, the table name will be used as the filename for the XML data file. The extension to be used will be .xml.
  • Database Preparation and Population
When the NFixture attributes are attached and database settings are in place, NFixture methods will be available for use within the unit tests. NFixture methods include methods for database preparation and population.

Database preparation methods include creation of database and data tables. When a database is not specified, a default database will be created and used.

In the case of the table data, specified tables will be populated before the testing is started. The test data will automatically be disposed when the testing is done. The test data will be taken from required xml table files containing table and table data information. When the table does not exist in the database, the table will be created based on the table schema information provided in the xml file.
  • Convention over Configuration
Configuration settings will use default values whenever no setting values are set. However, these values can be manually configured to suit the developer's requirements but these configuration changes are not necessary.

Quickstart
The QuickStart is the fastest way to understand and start NFixture immediately to your daily development routine.

The Team
The People who works with the project.

Licensing

NFixture is licensed under the Apache License 2.0 and work is contributed under one or more Contributor License Agreements, modeled on the CLA of the Apache Software Foundation.

Prospective committers will need to execute the CLA found here: https://nfixture.svn.codeplex.com/svn/legal/nfixture-cla-template.txt. If your current employment contract requires it, your employer may also need to execute the CCLA found here: https://nfixture.svn.codeplex.com/svn/legal/nfixture-ccla-template.txt

Last edited Sep 3 2009 at 5:30 AM by brettporter, version 8