v1.10
Release 1.10
This release 1.10 introduces a few new features and fixes a list of bugs. But the more important change of this version is, probably, that we've moved from Codeplex to Github. It's also the opportunityto reveal our new website and url at www.nbi.io This move is important because the documentation needed to be partially rewritten and the software management system has been changed from Mercurial to Git ... more details here under.
This release and the next will be downloadable from there.
What's new ?
New features
- Support the testing of structure for relational database: you can use the assertions exists, contain, equivalent and subsetOf on objects from a relational model including table, views, schemas (More to come in next releases). More info
- Support the testing of sets for the structure of tabular and multidimensional models. More info
- Support the testing of members of sets for tabular and multidimensional models. More info
- Support of a default type (text, numeric, boolean, dateTime) for columns identified as value. More info
- Support of keys with a different type (text, numeric, boolean, dateTime) than text. More info
- Tolerance is now supporting a combination of a percentage and a minimal/maximal absolute value. More info
- Improved performances when loading a test-suite with NUnit GUI.
- Improved user-experience when creating a test-suite with ETL. If some attributes are missing in the definition of the etl, NBi will clearly report the missing attributes.
- Additional partial xsd are also available for the xml elements test, settings, setup and cleanup. See in folder framework, sub-folder schema.
Bug fixes
Framework
- #86: Tolerance and negative values When a value was negative the tolerance was not correctly calculated.
- #77: connectionString is not forwarded to some asserts
- #79: SSIS DTS Variables do not work with dates
- #84: Only "SubsetOf" (and not "Contain" or "EquivalentTo") supports comparaison of members based on another instance
- #91: In some cases when xml syntax is invalid, NBi returns an object reference not set
genbi
Major refactoring
- The code supporting the assertions of structure (model) has been refactored to improve maintainability and speed up future development.
Move to github
Why do we leave Codeplex
In a few words: no new feature and no bug fix. To illustrate this, the tab "Source Code" is suffering from a bug since more than six months. Github is really further than codeplex and the gap between the two tools is growing everyday.
Consequences of this move
- The website is hosted http://www.nbi.io
- The downloads section has been moved to GitHub
- This repository (for source code) is now at https://github.com/Seddryck/nbi, Bitbucket will be a mirror and codeplex will be discarded.
- The issue tracker will also be moved to GitHub at https://github.com/seddryck/nbi/issues
- The documentation is now hosted by GitHub at http://www.nbi.io/docs and http://www.nbi.io/automation/ and is built with Jekyll. The source for this documentation is available and editable at https://github.com/Seddryck/NBi/tree/gh-pages
What's next ?
Main ideas for release 1.11 (or next)
- Create fakes or stubs of views, stored procedures or functions during the setup of a test and remove them during the cleanup. Work already started
- Support tests on the xml of a report (SSRS). Work already started
- Support assertions about the count of rows added (or updated or deleted) in a table after the execution of a SQL statement or a ETL.
- Support for asserting the type of a column or attribute
Other ideas probably not for 1.11 but for later
- Support to surround the test with a transaction and rollback the transaction when the test has been executed.
- Execute tests with etls running on a remote server.
- Add a setup command to process parts of a cube (SSAS).
- Support some tests about result-sets, to express easily conditions such has "If this field is greater than X then this other field must be greater than Y".
- Support transformation of the result-set in the assert (move columns, remove columns, add columns).
I'm (still) working on a Release 2.0. This work is delayed to the lack of GUI for NUnit 3.0. Anyway the goals are still:
- Lot of internal refactoring meaning easier to integrate new features (mostly done)
- Compatible with NUnit 3.0 meaning easier to setup a test suite !
- Easier to port it to another test framework than NUnit (xUnit, Fixie, ...)
- Easier to write helpers to compare result-sets
- Easier to create a Visual Studio Add-in
Naturally this Release 2.0 has a big constraint linked to the availability of NUnit 3.0 (currently still not available) so no planned date for the moment.