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.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.22.0-beta0076 99 1/14/2020
1.22.0-beta0069 91 1/7/2020
1.22.0-beta0067 94 1/7/2020
1.22.0-beta0061 159 1/6/2020
1.22.0-beta0055 70 1/3/2020
1.22.0-beta0054 93 1/3/2020
1.22.0-beta0053 43 1/3/2020
1.22.0-beta0049 47 12/5/2019
1.22.0-beta0048 54 12/1/2019
1.22.0-beta0047 58 12/1/2019
1.22.0-beta0044 50 11/21/2019
1.22.0-beta0035 46 11/20/2019
1.22.0-beta0034 46 11/17/2019
1.22.0-beta0033 47 11/14/2019
1.22.0-beta0029 44 11/11/2019
1.22.0-beta0027 46 11/11/2019
1.22.0-beta0025 46 11/9/2019
1.22.0-beta0021 47 11/9/2019
1.22.0-beta0019 47 11/9/2019
1.22.0-beta0017 50 11/5/2019
1.22.0-beta0016 46 11/4/2019
1.22.0-beta0015 48 11/3/2019
1.22.0-beta0013 51 11/1/2019
1.22.0-beta0012 56 10/27/2019
1.22.0-beta0009 50 10/26/2019
1.22.0-beta0004 59 10/22/2019
1.22.0-beta0003 56 10/19/2019
1.22.0-beta0002 53 10/19/2019
1.22.0-beta0001 51 10/13/2019
1.21.0 157 11/1/2019
1.21.0-rc0002 58 10/9/2019
1.21.0-rc0001 70 9/14/2019
1.21.0-beta0345 148 9/14/2019
1.21.0-beta0344 68 9/14/2019
1.21.0-beta0342 69 9/12/2019
1.21.0-beta0341 71 9/10/2019
1.21.0-beta0337 65 9/10/2019
1.21.0-beta0336 67 9/8/2019
1.21.0-beta0335 68 9/7/2019
1.21.0-beta0332 66 9/7/2019
1.21.0-beta0329 68 9/7/2019
1.21.0-beta0326 60 9/2/2019
1.21.0-beta0313 59 8/30/2019
1.21.0-beta0312 61 8/30/2019
1.21.0-beta0305 59 8/30/2019
1.21.0-beta0297 61 8/28/2019
1.21.0-beta0287 63 8/26/2019
1.21.0-beta0286 65 8/24/2019
1.21.0-beta0283 69 8/23/2019
1.21.0-beta0280 66 8/23/2019
1.21.0-beta0276 69 8/21/2019
1.21.0-beta0275 69 8/21/2019
1.21.0-beta0271 68 8/18/2019
1.21.0-beta0270 68 8/18/2019
1.21.0-beta0268 77 8/10/2019
1.21.0-beta0265 79 8/8/2019
1.21.0-beta0264 74 7/20/2019
1.21.0-beta0244 77 7/2/2019
1.21.0-beta0241 76 7/1/2019
1.21.0-beta0238 71 6/25/2019
1.21.0-beta0237 73 6/23/2019
1.21.0-beta0234 73 6/23/2019
1.21.0-beta0233 75 6/23/2019
1.21.0-beta0228 103 6/6/2019
1.21.0-beta0222 114 6/3/2019
1.21.0-beta0221 58 10/8/2019
1.21.0-beta0220 112 6/1/2019
1.21.0-beta0219 106 6/1/2019
1.21.0-beta0218 86 5/31/2019
1.21.0-beta0217 101 5/30/2019
1.21.0-beta0216 59 10/8/2019
1.21.0-beta0215 57 10/8/2019
1.21.0-beta0213 57 10/8/2019
1.21.0-beta0212 58 10/7/2019
1.21.0-beta0204 58 10/6/2019
1.21.0-beta0193 58 10/3/2019
1.21.0-beta0189 61 10/2/2019
1.21.0-beta0188 59 9/27/2019
1.21.0-beta0187 57 9/26/2019
1.21.0-beta0183 58 9/25/2019
1.21.0-beta0178 58 9/18/2019
1.21.0-beta0048 90 5/30/2019
1.21.0-beta0047 93 5/30/2019
1.21.0-beta0033 87 5/14/2019
1.21.0-beta0029 100 5/6/2019
1.21.0-beta0028 94 5/5/2019
1.21.0-beta0022 105 5/4/2019
1.21.0-beta0011 90 5/3/2019
1.21.0-beta0010 103 5/3/2019
1.21.0-beta0009 89 5/3/2019
1.21.0-beta0008 90 5/3/2019
1.21.0-beta0005 93 4/27/2019
1.21.0-beta0004 103 4/18/2019
1.20.0 223 5/30/2019
1.20.0-rc0001 111 4/13/2019
1.20.0-beta0166 104 4/13/2019
1.20.0-beta0147 94 3/26/2019
1.20.0-beta0146 65 3/25/2019
1.20.0-beta0143 66 3/25/2019
1.20.0-beta0142 66 3/14/2019
1.20.0-beta0138 63 3/12/2019
1.20.0-beta0137 68 3/11/2019
1.20.0-beta0136 71 2/27/2019
1.20.0-beta0123 72 2/27/2019
1.20.0-beta0118 66 2/13/2019
1.20.0-beta0112 72 2/6/2019
1.20.0-beta0107 71 2/4/2019
1.20.0-beta0106 77 1/29/2019
1.20.0-beta0103 70 1/29/2019
1.20.0-beta0102 70 1/29/2019
1.20.0-beta0096 78 1/27/2019
1.20.0-beta0094 82 1/27/2019
1.20.0-beta0093 77 1/25/2019
1.20.0-beta0092 77 1/25/2019
1.20.0-beta0091 84 1/23/2019
1.20.0-beta0077 120 1/17/2019
1.20.0-beta0073 110 1/15/2019
1.20.0-beta0072 112 1/14/2019
1.20.0-beta0056 164 1/6/2019
1.20.0-beta0053 147 1/2/2019
1.20.0-beta0052 169 12/31/2018
1.20.0-beta0051 143 12/31/2018
1.20.0-beta0050 157 12/30/2018
1.20.0-beta0049 128 12/30/2018
1.20.0-beta0048 155 12/30/2018
1.20.0-beta0027 150 12/30/2018
1.20.0-beta0005 127 12/4/2018
1.19.0.1 833 12/30/2018
1.19.0-rc0001 132 11/13/2018
1.19.0-beta0229 122 11/13/2018
1.19.0-beta0226 138 11/13/2018
1.19.0-beta0225 122 11/10/2018
1.19.0-beta0103 136 11/1/2018
1.19.0-beta0102 175 10/31/2018
1.19.0-beta0098 142 10/31/2018
1.19.0-beta0097 151 10/31/2018
1.19.0-beta0092 152 10/31/2018
1.19.0-beta0091 131 10/31/2018
1.19.0-beta0090 121 10/25/2018
1.19.0-beta0082 122 10/25/2018
1.19.0-beta0081 142 10/23/2018
1.19.0-beta0079 135 10/23/2018
1.19.0-beta0075 147 10/9/2018
1.19.0-beta0071 141 10/2/2018
1.19.0-beta0070 155 9/19/2018
1.19.0-beta0069 136 9/19/2018
1.19.0-beta0068 141 9/19/2018
1.19.0-beta0062 142 9/4/2018
1.19.0-beta0061 144 9/4/2018
1.19.0-beta0056 148 8/27/2018
1.19.0-beta0048 137 8/24/2018
1.19.0-beta0047 153 8/12/2018
1.19.0-beta0045 198 7/30/2018
1.19.0-beta0044 196 7/27/2018
1.19.0-beta0043 181 7/27/2018
1.19.0-beta0042 218 7/23/2018
1.19.0-beta0040 188 7/23/2018
1.19.0-beta0037 191 6/29/2018
1.19.0-beta0032 246 6/27/2018
1.19.0-beta0030 237 5/29/2018
1.19.0-beta0022 314 5/25/2018
1.19.0-beta0012 216 5/21/2018
1.19.0-beta0010 239 5/17/2018
1.19.0-beta0009 259 5/14/2018
1.19.0-beta0005 246 4/30/2018
1.18.1 971 7/30/2018
1.18.0.1 493 4/27/2018
1.18.0 539 4/27/2018
1.18.0-rc0004 245 4/26/2018
1.18.0-rc0003 260 4/26/2018
1.18.0-rc0002 333 1/23/2018
1.18.0-rc0001 260 1/15/2018
1.18.0-beta0127 249 4/27/2018
1.18.0-beta0126 240 4/26/2018
1.18.0-beta0125 252 4/26/2018
1.18.0-beta0124 242 4/26/2018
1.18.0-beta0116 346 4/13/2018
1.18.0-beta0115 352 4/13/2018
1.18.0-beta0114 411 4/7/2018
1.18.0-beta0111 266 3/6/2018
1.18.0-beta0110 270 2/24/2018
1.18.0-beta0109 290 2/6/2018
1.18.0-beta0103 266 1/25/2018
1.18.0-beta0100 289 1/24/2018
1.18.0-beta0098 228 1/24/2018
1.18.0-beta0094 264 1/24/2018
1.18.0-beta0093 270 1/22/2018
1.18.0-beta0092 258 1/22/2018
1.18.0-beta0090 350 1/22/2018
1.18.0-beta0089 260 1/22/2018
1.18.0-beta0088 275 1/18/2018
1.18.0-beta0084 302 1/16/2018
1.18.0-beta0083 252 1/15/2018
1.18.0-beta0082 278 1/15/2018
1.18.0-beta0081 291 1/14/2018
1.18.0-beta0080 333 1/14/2018
1.18.0-beta0079 300 1/14/2018
1.18.0-beta0078 292 1/14/2018
1.18.0-beta0029 244 1/7/2018
1.18.0-beta0018 247 1/6/2018
1.18.0-beta0017 272 1/5/2018
1.18.0-beta0014 277 1/5/2018
1.18.0-beta0003 279 12/10/2017
1.17.1 491 12/17/2017
1.17.0 324 12/9/2017
1.17.0-rc0001 223 11/26/2017
1.17.0-beta0112 274 12/8/2017
1.17.0-beta0111 257 12/5/2017
1.17.0-beta0110 233 12/4/2017
1.17.0-beta0109 216 12/2/2017
1.17.0-beta0107 215 12/2/2017
1.17.0-beta0106 216 11/26/2017
1.17.0-beta0105 240 11/26/2017
1.17.0-beta0096 226 11/25/2017
1.17.0-beta0089 224 11/5/2017
1.17.0-beta0085 237 11/4/2017
1.17.0-beta0084 217 11/4/2017
1.17.0-beta0069 237 11/2/2017
1.17.0-beta0062 212 11/2/2017
1.17.0-beta0061 213 11/1/2017
1.17.0-beta0058 204 11/1/2017
1.17.0-beta0055 220 11/1/2017
1.17.0-beta0040 241 11/1/2017
1.17.0-beta0039 226 11/1/2017
1.17.0-beta0038 228 11/1/2017
1.17.0-beta0005 234 10/27/2017
1.17.0-beta0004 230 10/27/2017
1.17.0-beta0002 229 10/25/2017
1.17.0-beta0001 230 10/25/2017
1.16.0.2 471 10/26/2017
1.16.0-rc0001 224 10/15/2017
1.16.0-beta0099 223 10/25/2017
1.16.0-beta0096 238 10/25/2017
1.16.0-beta0089 225 10/25/2017
1.16.0-beta0086 215 10/25/2017
1.16.0-beta0085 234 10/15/2017
1.16.0-beta0081 243 10/15/2017
1.16.0-beta0076 232 10/13/2017
1.16.0-beta0074 228 10/12/2017
1.16.0-beta0067 221 10/12/2017
1.16.0-beta0064 210 10/10/2017
1.16.0-beta0059 228 10/10/2017
1.16.0-beta0055 227 10/9/2017
1.16.0-beta0049 230 10/8/2017
1.16.0-beta0048 221 10/8/2017
1.16.0-beta0044 219 10/8/2017
1.16.0-beta0040 277 9/8/2017
1.16.0-beta0035 246 9/8/2017
1.16.0-beta0032 237 9/8/2017
1.16.0-beta0026 239 9/8/2017
1.16.0-beta0022 232 9/2/2017
1.16.0-beta0021 221 9/2/2017
1.16.0-beta0020 226 9/2/2017
1.16.0-beta0018 221 9/2/2017
1.15.0.1 289 10/26/2017
1.14.0.7 673 3/18/2017
Show less