NBi.Framework 1.16.0.2

This package is not intended to be directly used by end-users. Check the package NBi.VisualStudio, if you want to facilitate the usage of NBi from Visual Studio

There is a newer version of this package available.
See the version list below for details.
Install-Package NBi.Framework -Version 1.16.0.2
dotnet add package NBi.Framework --version 1.16.0.2
<PackageReference Include="NBi.Framework" Version="1.16.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NBi.Framework --version 1.16.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Logo

NBi

NBi is a testing framework (add-on to NUnit) for Business Intelligence. It supports most of the relational databases (SQL server, MySQL, postgreSQL ...) and OLAP platforms (Analysis Services, Mondrian ...) but also ETL and reporting components (Microsoft technologies).

The main goal of this framework is to let users create tests with a declarative approach based on an Xml syntax. By the means of NBi, you don't need to develop C# code to specify your tests! Either, you don't need Visual Studio to compile your test suite. Just create an Xml file and let the framework interpret it and play your tests. The framework is designed as an add-on of NUnit but with the possibility to port it easily to other testing frameworks.

Build status
Build status
Still maintained
nuget
licence badge
stars badge

Releases

Binaries for the different releases are hosted on www.nbi.io or GitHub

Documentation

The documentation is available on-line and is hosted on www.nbi.io

Licenses

NBi is available on the terms of Apache 2.0. NBi is also using several OSS projects as librairies. All these projects and their licenses are available in the folder "License".

Bugs, issues and requests for features

The list of bugs and feature's requests is hosted on GitHub

Continuous Integration

A continuous integration service is available on AppVeyor at [https://ci.appveyor.com/project/Seddryck/nbi/]
Note that all the tests are not executed on this environment due to limitations in the availability of some components.

  • Unit tests are always executed
  • Integration tests are executed if the corresponding component is available
    • Database Engine: Yes. Due to the usage of an Azure database to run these tests, these tests are enabled on the CI platform
    • OLAP Engine: No
    • ETL Engine (SSIS): No
    • Windows Service: No (but planned to integrate them)
    • Local Database: No (but planned to integrate them)
    • Report Server: No (but planned to integrate them)
  • Acceptance tests are excluded

Build status

Two artefacts are provided by this CI:

  • Framework.zip contains the dll needed to run tests written with NBi
  • UI.zip contains the exe and dlls needed to run Genbi

Code

NBi is using Git as DCVS and the code is hosted on Github.

Automated Testing

NBi has around 1600 automated tests, asserting a lot of features before each release. These tests are organized in three folders:

  • Acceptance: The tests are effectively written in nbits file and played end-to-end by the framework itself. They don't use any fake, mock or stub and are connected to real databases and cubes and perform queries on them.
  • Integration: These tests are used to assert interactions with external resources such as databases or cubes. They make usage of stubs to define parameters impacting the code to use.
  • Unit: These tests are never contacting an external resource and have a maximal scope equivakent to the code of a single class. Usage of stubs, fakes and mocks is welcome.

In order to be able to build the software on different machines, the database and cube used during tests must always be Adventure Works 2008R2. In order to facilitate the integration, NBi is connected by default to the online SQL database hosted on Azure (Unfortunatelly no equivalent for SSAS). If you want to overrides the connection settings for executing the tests on your own environement just create a file named ConnectionString.user.config in the folder "NBi.Testing" and copy the content from the file ConnectionString.config into it before adjusting for your environment.

Tracking

This OSS project is tracked by Ohloh

Project Stats

Logo

NBi

NBi is a testing framework (add-on to NUnit) for Business Intelligence. It supports most of the relational databases (SQL server, MySQL, postgreSQL ...) and OLAP platforms (Analysis Services, Mondrian ...) but also ETL and reporting components (Microsoft technologies).

The main goal of this framework is to let users create tests with a declarative approach based on an Xml syntax. By the means of NBi, you don't need to develop C# code to specify your tests! Either, you don't need Visual Studio to compile your test suite. Just create an Xml file and let the framework interpret it and play your tests. The framework is designed as an add-on of NUnit but with the possibility to port it easily to other testing frameworks.

Build status
Build status
Still maintained
nuget
licence badge
stars badge

Releases

Binaries for the different releases are hosted on www.nbi.io or GitHub

Documentation

The documentation is available on-line and is hosted on www.nbi.io

Licenses

NBi is available on the terms of Apache 2.0. NBi is also using several OSS projects as librairies. All these projects and their licenses are available in the folder "License".

Bugs, issues and requests for features

The list of bugs and feature's requests is hosted on GitHub

Continuous Integration

A continuous integration service is available on AppVeyor at [https://ci.appveyor.com/project/Seddryck/nbi/]
Note that all the tests are not executed on this environment due to limitations in the availability of some components.

  • Unit tests are always executed
  • Integration tests are executed if the corresponding component is available
    • Database Engine: Yes. Due to the usage of an Azure database to run these tests, these tests are enabled on the CI platform
    • OLAP Engine: No
    • ETL Engine (SSIS): No
    • Windows Service: No (but planned to integrate them)
    • Local Database: No (but planned to integrate them)
    • Report Server: No (but planned to integrate them)
  • Acceptance tests are excluded

Build status

Two artefacts are provided by this CI:

  • Framework.zip contains the dll needed to run tests written with NBi
  • UI.zip contains the exe and dlls needed to run Genbi

Code

NBi is using Git as DCVS and the code is hosted on Github.

Automated Testing

NBi has around 1600 automated tests, asserting a lot of features before each release. These tests are organized in three folders:

  • Acceptance: The tests are effectively written in nbits file and played end-to-end by the framework itself. They don't use any fake, mock or stub and are connected to real databases and cubes and perform queries on them.
  • Integration: These tests are used to assert interactions with external resources such as databases or cubes. They make usage of stubs to define parameters impacting the code to use.
  • Unit: These tests are never contacting an external resource and have a maximal scope equivakent to the code of a single class. Usage of stubs, fakes and mocks is welcome.

In order to be able to build the software on different machines, the database and cube used during tests must always be Adventure Works 2008R2. In order to facilitate the integration, NBi is connected by default to the online SQL database hosted on Azure (Unfortunatelly no equivalent for SSAS). If you want to overrides the connection settings for executing the tests on your own environement just create a file named ConnectionString.user.config in the folder "NBi.Testing" and copy the content from the file ConnectionString.config into it before adjusting for your environment.

Tracking

This OSS project is tracked by Ohloh

Project Stats

Release Notes

# Release 1.16

This release 1.16 introduces two new constraints (unique-rows and subset-of/superset-of), a bunch of new predicates to use with all/no-rows and some native transformations plus some small enhancements and a bug fix.

This release is downloadable from [there](https://github.com/seddryck/nbi/releases).

Version: 1.16.0.2 aka v1.16 (same binaries than the beta version)

## What's new ?

### New features

- #89 [Add support for testing that a result-set has no duplicated rows](http://www.nbi.io/docs/resultset-rows-uniqueness/)
- #196 [Test whether a recordset is a subset/superset of an asserted recordset](http://www.nbi.io/docs/compare-superset-subset/)
- #300 [Support of result-sets defined in files in the system-under-test for equalTo (superset/subset)](http://www.nbi.io/docs/compare-equivalence-resultsets/#csv)
- [Predicates for all/no-rows](http://www.nbi.io/docs/resultset-predicate/)
  - #301 Global variables for predicates
  - #303 Support implicit variables for predicates
  - #305 New predicates for checking that a value has no decimal or no seconds
  - #262 Add predicate range for numerical and date values
  - #292 Add predicate to test that a text is uppercase or lowercase
  - #302 Improve failure message for all/no rows
- [Native transformations](http://www.nbi.io/docs/transform-column/#native)
  - #231 Support natively some transformations for strings
  - #293 Add a transformation to get the length of a column
  - #216 Support natively a few straightforward transformations
- #296 [Make ignore role standard unless otherwise specified ](http://www.nbi.io/docs/compare-configuration/#columns-roles)
- #230 [Support of fuzzy comparison for strings ](http://www.nbi.io/docs/compare-tolerances-roundings/#tolerance-for-type-text)
- #176 SSIS Environment references not under SSISDB

### Bug fixes

- #311 Rounding setting not correctly applied with midpoints

### Improvement and bug fix for genbi

- #189 [Support to load multiple templates before generating the tests](http://www.nbi.io/automation/template-add/)
- #306 [Add support for definition of global variables in genbiL](http://www.nbi.io/automation/variable-include/)
- #245 [Introduce a way to use declare and assign consumables for a template](http://www.nbi.io/automation/consumable-set/)

Dependencies

This package has no dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on NBi.Framework:

Package Downloads
NBi.Gremlin
This package contains the Tinkerpop Gremlin extension for the testing framework NBi (check at http://www.nbi.io)
NBi.VisualStudio
This package retrieves NUnit runners and NBi framework from Nuget before creating an empty test-suite, a config file and NUnit-project file. It also reconfigure the project to start NUnit GUI and the test-suite when pressing F5 (debug).
NBi.Data3Sixty
This package contains the Data3Sixty extension for the testing framework NBi (check at http://www.nbi.io)

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.23.0-beta0026 161 6/20/2020
1.23.0-beta0021 171 6/20/2020
1.23.0-beta0018 95 3/17/2020
1.23.0-beta0008 135 2/7/2020
1.23.0-beta0004 106 2/6/2020
1.23.0-beta0001 175 2/4/2020
1.22.0 490 2/4/2020
1.22.0-beta0083 97 2/4/2020
1.22.0-beta0079 151 2/3/2020
1.22.0-beta0076 180 1/14/2020
1.22.0-beta0069 166 1/7/2020
1.22.0-beta0067 162 1/7/2020
1.22.0-beta0061 238 1/6/2020
1.22.0-beta0055 157 1/3/2020
1.22.0-beta0054 175 1/3/2020
1.22.0-beta0053 109 1/3/2020
1.22.0-beta0049 119 12/5/2019
1.22.0-beta0048 124 12/1/2019
1.22.0-beta0047 124 12/1/2019
1.22.0-beta0044 117 11/21/2019
1.22.0-beta0035 108 11/20/2019
1.22.0-beta0034 111 11/17/2019
1.22.0-beta0033 110 11/14/2019
1.22.0-beta0029 112 11/11/2019
1.22.0-beta0027 123 11/11/2019
1.22.0-beta0025 122 11/9/2019
1.22.0-beta0021 120 11/9/2019
1.22.0-beta0019 119 11/9/2019
1.22.0-beta0017 110 11/5/2019
1.22.0-beta0016 115 11/4/2019
1.22.0-beta0015 122 11/3/2019
1.22.0-beta0013 117 11/1/2019
1.22.0-beta0012 119 10/27/2019
1.22.0-beta0009 118 10/26/2019
1.22.0-beta0004 123 10/22/2019
1.22.0-beta0003 127 10/19/2019
1.22.0-beta0002 126 10/19/2019
1.22.0-beta0001 114 10/13/2019
1.21.0 884 11/1/2019
1.21.0-rc0002 139 10/9/2019
1.21.0-rc0001 148 9/14/2019
1.21.0-beta0345 234 9/14/2019
1.21.0-beta0344 142 9/14/2019
1.21.0-beta0342 141 9/12/2019
1.21.0-beta0341 138 9/10/2019
1.21.0-beta0337 133 9/10/2019
1.21.0-beta0336 138 9/8/2019
1.21.0-beta0335 136 9/7/2019
1.21.0-beta0332 139 9/7/2019
1.21.0-beta0329 140 9/7/2019
1.21.0-beta0326 141 9/2/2019
1.21.0-beta0313 125 8/30/2019
1.21.0-beta0312 130 8/30/2019
1.21.0-beta0305 133 8/30/2019
1.21.0-beta0297 123 8/28/2019
1.21.0-beta0287 138 8/26/2019
1.21.0-beta0286 138 8/24/2019
1.21.0-beta0283 132 8/23/2019
1.21.0-beta0280 130 8/23/2019
1.21.0-beta0276 141 8/21/2019
1.21.0-beta0275 138 8/21/2019
1.21.0-beta0271 142 8/18/2019
1.21.0-beta0270 139 8/18/2019
1.21.0-beta0268 146 8/10/2019
1.21.0-beta0265 147 8/8/2019
1.21.0-beta0264 133 7/20/2019
1.21.0-beta0244 155 7/2/2019
1.21.0-beta0241 153 7/1/2019
1.21.0-beta0238 138 6/25/2019
1.21.0-beta0237 141 6/23/2019
1.21.0-beta0234 139 6/23/2019
1.21.0-beta0233 137 6/23/2019
1.21.0-beta0228 181 6/6/2019
1.21.0-beta0222 190 6/3/2019
1.21.0-beta0221 134 10/8/2019
1.21.0-beta0220 186 6/1/2019
1.21.0-beta0219 187 6/1/2019
1.21.0-beta0218 155 5/31/2019
1.21.0-beta0217 184 5/30/2019
1.21.0-beta0216 120 10/8/2019
1.21.0-beta0215 119 10/8/2019
1.21.0-beta0213 120 10/8/2019
1.21.0-beta0212 116 10/7/2019
1.21.0-beta0204 117 10/6/2019
1.21.0-beta0193 136 10/3/2019
1.21.0-beta0189 124 10/2/2019
1.21.0-beta0188 123 9/27/2019
1.21.0-beta0187 117 9/26/2019
1.21.0-beta0183 124 9/25/2019
1.21.0-beta0178 123 9/18/2019
1.21.0-beta0048 161 5/30/2019
1.21.0-beta0047 173 5/30/2019
1.21.0-beta0033 152 5/14/2019
1.21.0-beta0029 182 5/6/2019
1.21.0-beta0028 177 5/5/2019
1.21.0-beta0022 174 5/4/2019
1.21.0-beta0011 178 5/3/2019
1.21.0-beta0010 182 5/3/2019
1.21.0-beta0009 166 5/3/2019
1.21.0-beta0008 167 5/3/2019
1.21.0-beta0005 157 4/27/2019
1.21.0-beta0004 178 4/18/2019
1.20.0 331 5/30/2019
1.20.0-rc0001 183 4/13/2019
1.20.0-beta0166 181 4/13/2019
1.20.0-beta0147 168 3/26/2019
1.20.0-beta0146 112 3/25/2019
1.20.0-beta0143 113 3/25/2019
1.20.0-beta0142 112 3/14/2019
1.20.0-beta0138 110 3/12/2019
1.20.0-beta0137 115 3/11/2019
1.20.0-beta0136 118 2/27/2019
1.20.0-beta0123 120 2/27/2019
1.20.0-beta0118 113 2/13/2019
1.20.0-beta0112 116 2/6/2019
1.20.0-beta0107 112 2/4/2019
1.20.0-beta0106 112 1/29/2019
1.20.0-beta0103 108 1/29/2019
1.20.0-beta0102 105 1/29/2019
1.20.0-beta0096 116 1/27/2019
1.20.0-beta0094 119 1/27/2019
1.20.0-beta0093 121 1/25/2019
1.20.0-beta0092 113 1/25/2019
1.20.0-beta0091 127 1/23/2019
1.20.0-beta0077 166 1/17/2019
1.20.0-beta0073 161 1/15/2019
1.20.0-beta0072 160 1/14/2019
1.20.0-beta0056 231 1/6/2019
1.20.0-beta0053 218 1/2/2019
1.20.0-beta0052 245 12/31/2018
1.20.0-beta0051 212 12/31/2018
1.20.0-beta0050 223 12/30/2018
1.20.0-beta0049 198 12/30/2018
1.20.0-beta0048 222 12/30/2018
1.20.0-beta0027 211 12/30/2018
1.20.0-beta0005 206 12/4/2018
1.19.0.1 954 12/30/2018
1.19.0-rc0001 208 11/13/2018
1.19.0-beta0229 202 11/13/2018
1.19.0-beta0226 213 11/13/2018
1.19.0-beta0225 195 11/10/2018
1.19.0-beta0103 204 11/1/2018
1.19.0-beta0102 248 10/31/2018
1.19.0-beta0098 210 10/31/2018
1.19.0-beta0097 222 10/31/2018
1.19.0-beta0092 220 10/31/2018
1.19.0-beta0091 206 10/31/2018
1.19.0-beta0090 185 10/25/2018
1.19.0-beta0082 196 10/25/2018
1.19.0-beta0081 213 10/23/2018
1.19.0-beta0079 209 10/23/2018
1.19.0-beta0075 227 10/9/2018
1.19.0-beta0071 218 10/2/2018
1.19.0-beta0070 333 9/19/2018
1.19.0-beta0069 206 9/19/2018
1.19.0-beta0068 220 9/19/2018
1.19.0-beta0062 217 9/4/2018
1.19.0-beta0061 221 9/4/2018
1.19.0-beta0056 226 8/27/2018
1.19.0-beta0048 224 8/24/2018
1.19.0-beta0047 236 8/12/2018
1.19.0-beta0045 277 7/30/2018
1.19.0-beta0044 276 7/27/2018
1.19.0-beta0043 266 7/27/2018
1.19.0-beta0042 287 7/23/2018
1.19.0-beta0040 263 7/23/2018
1.19.0-beta0037 270 6/29/2018
1.19.0-beta0032 324 6/27/2018
1.19.0-beta0030 319 5/29/2018
1.19.0-beta0022 396 5/25/2018
1.19.0-beta0012 296 5/21/2018
1.19.0-beta0010 323 5/17/2018
1.19.0-beta0009 337 5/14/2018
1.19.0-beta0005 329 4/30/2018
1.18.1 1,238 7/30/2018
1.18.0.1 631 4/27/2018
1.18.0 640 4/27/2018
1.18.0-rc0004 326 4/26/2018
1.18.0-rc0003 339 4/26/2018
1.18.0-rc0002 519 1/23/2018
1.18.0-rc0001 344 1/15/2018
1.18.0-beta0127 355 4/27/2018
1.18.0-beta0126 319 4/26/2018
1.18.0-beta0125 333 4/26/2018
1.18.0-beta0124 322 4/26/2018
1.18.0-beta0116 424 4/13/2018
1.18.0-beta0115 431 4/13/2018
1.18.0-beta0114 490 4/7/2018
1.18.0-beta0111 350 3/6/2018
1.18.0-beta0110 348 2/24/2018
1.18.0-beta0109 370 2/6/2018
1.18.0-beta0103 346 1/25/2018
1.18.0-beta0100 370 1/24/2018
1.18.0-beta0098 306 1/24/2018
1.18.0-beta0094 339 1/24/2018
1.18.0-beta0093 346 1/22/2018
1.18.0-beta0092 347 1/22/2018
1.18.0-beta0090 439 1/22/2018
1.18.0-beta0089 340 1/22/2018
1.18.0-beta0088 363 1/18/2018
1.18.0-beta0084 416 1/16/2018
1.18.0-beta0083 329 1/15/2018
1.18.0-beta0082 361 1/15/2018
1.18.0-beta0081 429 1/14/2018
1.18.0-beta0080 412 1/14/2018
1.18.0-beta0079 382 1/14/2018
1.18.0-beta0078 381 1/14/2018
1.18.0-beta0029 332 1/7/2018
1.18.0-beta0018 334 1/6/2018
1.18.0-beta0017 355 1/5/2018
1.18.0-beta0014 370 1/5/2018
1.18.0-beta0003 367 12/10/2017
1.17.1 608 12/17/2017
1.17.0 432 12/9/2017
1.17.0-rc0001 305 11/26/2017
1.17.0-beta0112 363 12/8/2017
1.17.0-beta0111 359 12/5/2017
1.17.0-beta0110 304 12/4/2017
1.17.0-beta0109 298 12/2/2017
1.17.0-beta0107 298 12/2/2017
1.17.0-beta0106 296 11/26/2017
1.17.0-beta0105 315 11/26/2017
1.17.0-beta0096 301 11/25/2017
1.17.0-beta0089 306 11/5/2017
1.17.0-beta0085 316 11/4/2017
1.17.0-beta0084 290 11/4/2017
1.17.0-beta0069 313 11/2/2017
1.17.0-beta0062 288 11/2/2017
1.17.0-beta0061 288 11/1/2017
1.17.0-beta0058 287 11/1/2017
1.17.0-beta0055 300 11/1/2017
1.17.0-beta0040 323 11/1/2017
1.17.0-beta0039 300 11/1/2017
1.17.0-beta0038 311 11/1/2017
1.17.0-beta0005 315 10/27/2017
1.17.0-beta0004 306 10/27/2017
1.17.0-beta0002 300 10/25/2017
1.17.0-beta0001 302 10/25/2017
1.16.0.2 568 10/26/2017
1.16.0-rc0001 307 10/15/2017
1.16.0-beta0099 297 10/25/2017
1.16.0-beta0096 318 10/25/2017
1.16.0-beta0089 302 10/25/2017
1.16.0-beta0086 296 10/25/2017
1.16.0-beta0085 316 10/15/2017
1.16.0-beta0081 326 10/15/2017
1.16.0-beta0076 312 10/13/2017
1.16.0-beta0074 309 10/12/2017
1.16.0-beta0067 297 10/12/2017
1.16.0-beta0064 287 10/10/2017
1.16.0-beta0059 306 10/10/2017
1.16.0-beta0055 310 10/9/2017
1.16.0-beta0049 315 10/8/2017
1.16.0-beta0048 300 10/8/2017
1.16.0-beta0044 300 10/8/2017
1.16.0-beta0040 366 9/8/2017
1.16.0-beta0035 320 9/8/2017
1.16.0-beta0032 314 9/8/2017
1.16.0-beta0026 318 9/8/2017
1.16.0-beta0022 307 9/2/2017
1.16.0-beta0021 308 9/2/2017
1.16.0-beta0020 298 9/2/2017
1.16.0-beta0018 306 9/2/2017
1.15.0.1 364 10/26/2017
1.14.0.7 824 3/18/2017
Show less