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.
#r "nuget: NBi.Framework, 1.16.0.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install NBi.Framework as a Cake Addin
#addin nuget:?package=NBi.Framework&version=1.16.0.2

// Install NBi.Framework as a Cake Tool
#tool nuget:?package=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.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.Gremlin
This package contains the Tinkerpop Gremlin extension for the testing framework NBi (check at http://www.nbi.io)
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-beta0167 66 2/27/2021
1.23.0-beta0165 91 2/27/2021
1.23.0-beta0164 101 1/23/2021
1.23.0-beta0162 93 1/23/2021
1.23.0-beta0161 89 1/23/2021
1.23.0-beta0081 104 1/14/2021
1.23.0-beta0076 107 1/13/2021
1.23.0-beta0072 129 1/6/2021
1.23.0-beta0068 97 1/6/2021
1.23.0-beta0065 129 1/2/2021
1.23.0-beta0057 133 1/2/2021
1.23.0-beta0056 171 12/13/2020
1.23.0-beta0053 193 12/13/2020
1.23.0-beta0048 194 11/7/2020
1.23.0-beta0026 270 6/20/2020
1.23.0-beta0021 285 6/20/2020
1.23.0-beta0018 202 3/17/2020
1.23.0-beta0008 245 2/7/2020
1.23.0-beta0004 215 2/6/2020
1.23.0-beta0001 286 2/4/2020
1.22.0 1,896 2/4/2020
1.22.0-beta0083 211 2/4/2020
1.22.0-beta0079 263 2/3/2020
1.22.0-beta0076 294 1/14/2020
1.22.0-beta0069 278 1/7/2020
1.22.0-beta0067 288 1/7/2020
1.22.0-beta0061 353 1/6/2020
1.22.0-beta0055 311 1/3/2020
1.22.0-beta0054 287 1/3/2020
1.22.0-beta0053 220 1/3/2020
1.22.0-beta0049 232 12/5/2019
1.22.0-beta0048 236 12/1/2019
1.22.0-beta0047 232 12/1/2019
1.22.0-beta0044 232 11/21/2019
1.22.0-beta0035 213 11/20/2019
1.22.0-beta0034 216 11/17/2019
1.22.0-beta0033 218 11/14/2019
1.22.0-beta0029 221 11/11/2019
1.22.0-beta0027 234 11/11/2019
1.22.0-beta0025 236 11/9/2019
1.22.0-beta0021 228 11/9/2019
1.22.0-beta0019 234 11/9/2019
1.22.0-beta0017 228 11/5/2019
1.22.0-beta0016 237 11/4/2019
1.22.0-beta0015 236 11/3/2019
1.22.0-beta0013 229 11/1/2019
1.22.0-beta0012 230 10/27/2019
1.22.0-beta0009 223 10/26/2019
1.22.0-beta0004 227 10/22/2019
1.22.0-beta0003 241 10/19/2019
1.22.0-beta0002 240 10/19/2019
1.22.0-beta0001 219 10/13/2019
1.21.0 2,840 11/1/2019
1.21.0-rc0002 254 10/9/2019
1.21.0-rc0001 258 9/14/2019
1.21.0-beta0345 355 9/14/2019
1.21.0-beta0344 253 9/14/2019
1.21.0-beta0342 254 9/12/2019
1.21.0-beta0341 253 9/10/2019
1.21.0-beta0337 242 9/10/2019
1.21.0-beta0336 248 9/8/2019
1.21.0-beta0335 251 9/7/2019
1.21.0-beta0332 245 9/7/2019
1.21.0-beta0329 255 9/7/2019
1.21.0-beta0326 276 9/2/2019
1.21.0-beta0313 242 8/30/2019
1.21.0-beta0312 248 8/30/2019
1.21.0-beta0305 252 8/30/2019
1.21.0-beta0297 232 8/28/2019
1.21.0-beta0287 249 8/26/2019
1.21.0-beta0286 253 8/24/2019
1.21.0-beta0283 240 8/23/2019
1.21.0-beta0280 237 8/23/2019
1.21.0-beta0276 253 8/21/2019
1.21.0-beta0275 262 8/21/2019
1.21.0-beta0271 256 8/18/2019
1.21.0-beta0270 260 8/18/2019
1.21.0-beta0268 266 8/10/2019
1.21.0-beta0265 255 8/8/2019
1.21.0-beta0264 244 7/20/2019
1.21.0-beta0244 269 7/2/2019
1.21.0-beta0241 272 7/1/2019
1.21.0-beta0238 246 6/25/2019
1.21.0-beta0237 242 6/23/2019
1.21.0-beta0234 241 6/23/2019
1.21.0-beta0233 234 6/23/2019
1.21.0-beta0228 291 6/6/2019
1.21.0-beta0222 300 6/3/2019
1.21.0-beta0221 241 10/8/2019
1.21.0-beta0220 297 6/1/2019
1.21.0-beta0219 295 6/1/2019
1.21.0-beta0218 265 5/31/2019
1.21.0-beta0217 307 5/30/2019
1.21.0-beta0216 227 10/8/2019
1.21.0-beta0215 227 10/8/2019
1.21.0-beta0213 233 10/8/2019
1.21.0-beta0212 234 10/7/2019
1.21.0-beta0204 226 10/6/2019
1.21.0-beta0193 244 10/3/2019
1.21.0-beta0189 230 10/2/2019
1.21.0-beta0188 228 9/27/2019
1.21.0-beta0187 227 9/26/2019
1.21.0-beta0183 242 9/25/2019
1.21.0-beta0178 230 9/18/2019
1.21.0-beta0048 274 5/30/2019
1.21.0-beta0047 275 5/30/2019
1.21.0-beta0033 260 5/14/2019
1.21.0-beta0029 283 5/6/2019
1.21.0-beta0028 282 5/5/2019
1.21.0-beta0022 281 5/4/2019
1.21.0-beta0011 285 5/3/2019
1.21.0-beta0010 284 5/3/2019
1.21.0-beta0009 272 5/3/2019
1.21.0-beta0008 272 5/3/2019
1.21.0-beta0005 263 4/27/2019
1.21.0-beta0004 289 4/18/2019
1.20.0 481 5/30/2019
1.20.0-rc0001 284 4/13/2019
1.20.0-beta0166 283 4/13/2019
1.20.0-beta0147 270 3/26/2019
1.20.0-beta0146 181 3/25/2019
1.20.0-beta0143 182 3/25/2019
1.20.0-beta0142 181 3/14/2019
1.20.0-beta0138 180 3/12/2019
1.20.0-beta0137 181 3/11/2019
1.20.0-beta0136 186 2/27/2019
1.20.0-beta0123 189 2/27/2019
1.20.0-beta0118 238 2/13/2019
1.20.0-beta0112 242 2/6/2019
1.20.0-beta0107 238 2/4/2019
1.20.0-beta0106 238 1/29/2019
1.20.0-beta0103 236 1/29/2019
1.20.0-beta0102 230 1/29/2019
1.20.0-beta0096 239 1/27/2019
1.20.0-beta0094 245 1/27/2019
1.20.0-beta0093 249 1/25/2019
1.20.0-beta0092 240 1/25/2019
1.20.0-beta0091 253 1/23/2019
1.20.0-beta0077 295 1/17/2019
1.20.0-beta0073 291 1/15/2019
1.20.0-beta0072 286 1/14/2019
1.20.0-beta0056 393 1/6/2019
1.20.0-beta0053 381 1/2/2019
1.20.0-beta0052 402 12/31/2018
1.20.0-beta0051 374 12/31/2018
1.20.0-beta0050 388 12/30/2018
1.20.0-beta0049 361 12/30/2018
1.20.0-beta0048 384 12/30/2018
1.20.0-beta0027 377 12/30/2018
1.20.0-beta0005 375 12/4/2018
1.19.0.1 1,166 12/30/2018
1.19.0-rc0001 375 11/13/2018
1.19.0-beta0229 367 11/13/2018
1.19.0-beta0226 380 11/13/2018
1.19.0-beta0225 365 11/10/2018
1.19.0-beta0103 373 11/1/2018
1.19.0-beta0102 419 10/31/2018
1.19.0-beta0098 384 10/31/2018
1.19.0-beta0097 390 10/31/2018
1.19.0-beta0092 392 10/31/2018
1.19.0-beta0091 374 10/31/2018
1.19.0-beta0090 351 10/25/2018
1.19.0-beta0082 356 10/25/2018
1.19.0-beta0081 373 10/23/2018
1.19.0-beta0079 376 10/23/2018
1.19.0-beta0075 403 10/9/2018
1.19.0-beta0071 388 10/2/2018
1.19.0-beta0070 640 9/19/2018
1.19.0-beta0069 385 9/19/2018
1.19.0-beta0068 395 9/19/2018
1.19.0-beta0062 389 9/4/2018
1.19.0-beta0061 398 9/4/2018
1.19.0-beta0056 400 8/27/2018
1.19.0-beta0048 407 8/24/2018
1.19.0-beta0047 417 8/12/2018
1.19.0-beta0045 455 7/30/2018
1.19.0-beta0044 453 7/27/2018
1.19.0-beta0043 439 7/27/2018
1.19.0-beta0042 460 7/23/2018
1.19.0-beta0040 441 7/23/2018
1.19.0-beta0037 449 6/29/2018
1.19.0-beta0032 514 6/27/2018
1.19.0-beta0030 507 5/29/2018
1.19.0-beta0022 576 5/25/2018
1.19.0-beta0012 480 5/21/2018
1.19.0-beta0010 512 5/17/2018
1.19.0-beta0009 517 5/14/2018
1.19.0-beta0005 500 4/30/2018
1.18.1 1,512 7/30/2018
1.18.0.1 936 4/27/2018
1.18.0 859 4/27/2018
1.18.0-rc0004 500 4/26/2018
1.18.0-rc0003 510 4/26/2018
1.18.0-rc0002 953 1/23/2018
1.18.0-rc0001 525 1/15/2018
1.18.0-beta0127 554 4/27/2018
1.18.0-beta0126 499 4/26/2018
1.18.0-beta0125 513 4/26/2018
1.18.0-beta0124 509 4/26/2018
1.18.0-beta0116 597 4/13/2018
1.18.0-beta0115 604 4/13/2018
1.18.0-beta0114 665 4/7/2018
1.18.0-beta0111 525 3/6/2018
1.18.0-beta0110 526 2/24/2018
1.18.0-beta0109 552 2/6/2018
1.18.0-beta0103 521 1/25/2018
1.18.0-beta0100 552 1/24/2018
1.18.0-beta0098 482 1/24/2018
1.18.0-beta0094 513 1/24/2018
1.18.0-beta0093 518 1/22/2018
1.18.0-beta0092 535 1/22/2018
1.18.0-beta0090 636 1/22/2018
1.18.0-beta0089 520 1/22/2018
1.18.0-beta0088 540 1/18/2018
1.18.0-beta0084 698 1/16/2018
1.18.0-beta0083 514 1/15/2018
1.18.0-beta0082 539 1/15/2018
1.18.0-beta0081 747 1/14/2018
1.18.0-beta0080 589 1/14/2018
1.18.0-beta0079 555 1/14/2018
1.18.0-beta0078 551 1/14/2018
1.18.0-beta0029 519 1/7/2018
1.18.0-beta0018 521 1/6/2018
1.18.0-beta0017 541 1/5/2018
1.18.0-beta0014 560 1/5/2018
1.18.0-beta0003 553 12/10/2017
1.17.1 851 12/17/2017
1.17.0 644 12/9/2017
1.17.0-rc0001 493 11/26/2017
1.17.0-beta0112 542 12/8/2017
1.17.0-beta0111 546 12/5/2017
1.17.0-beta0110 496 12/4/2017
1.17.0-beta0109 480 12/2/2017
1.17.0-beta0107 486 12/2/2017
1.17.0-beta0106 482 11/26/2017
1.17.0-beta0105 500 11/26/2017
1.17.0-beta0096 489 11/25/2017
1.17.0-beta0089 477 11/5/2017
1.17.0-beta0085 501 11/4/2017
1.17.0-beta0084 463 11/4/2017
1.17.0-beta0069 499 11/2/2017
1.17.0-beta0062 473 11/2/2017
1.17.0-beta0061 470 11/1/2017
1.17.0-beta0058 463 11/1/2017
1.17.0-beta0055 475 11/1/2017
1.17.0-beta0040 510 11/1/2017
1.17.0-beta0039 483 11/1/2017
1.17.0-beta0038 490 11/1/2017
1.17.0-beta0005 507 10/27/2017
1.17.0-beta0004 479 10/27/2017
1.17.0-beta0002 473 10/25/2017
1.17.0-beta0001 476 10/25/2017
1.16.0.2 756 10/26/2017
1.16.0-rc0001 478 10/15/2017
1.16.0-beta0099 473 10/25/2017
1.16.0-beta0096 503 10/25/2017
1.16.0-beta0089 474 10/25/2017
1.16.0-beta0086 473 10/25/2017
1.16.0-beta0085 495 10/15/2017
1.16.0-beta0081 514 10/15/2017
1.16.0-beta0076 496 10/13/2017
1.16.0-beta0074 489 10/12/2017
1.16.0-beta0067 471 10/12/2017
1.16.0-beta0064 468 10/10/2017
1.16.0-beta0059 484 10/10/2017
1.16.0-beta0055 483 10/9/2017
1.16.0-beta0049 498 10/8/2017
1.16.0-beta0048 477 10/8/2017
1.16.0-beta0044 479 10/8/2017
1.16.0-beta0040 549 9/8/2017
1.16.0-beta0035 506 9/8/2017
1.16.0-beta0032 494 9/8/2017
1.16.0-beta0026 494 9/8/2017
1.16.0-beta0022 485 9/2/2017
1.16.0-beta0021 484 9/2/2017
1.16.0-beta0020 474 9/2/2017
1.16.0-beta0018 482 9/2/2017
1.15.0.1 552 10/26/2017
1.14.0.7 1,108 3/18/2017
Show less