NBi.Framework 1.16.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package NBi.Framework --version 1.16.0.2                
NuGet\Install-Package NBi.Framework -Version 1.16.0.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<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                
#r "nuget: NBi.Framework, 1.16.0.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. 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                

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

Product Compatible and additional computed target framework versions.
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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 Downloads Last updated
1.25.0-beta0001 148 8/10/2023
1.24.0 236 8/10/2023
1.24.0-beta0047 126 8/10/2023
1.24.0-beta0046 126 8/10/2023
1.24.0-beta0044 121 8/10/2023
1.24.0-beta0040 121 8/10/2023
1.24.0-beta0036 99 8/10/2023
1.24.0-beta0023 102 8/9/2023
1.24.0-beta0020 162 1/3/2023
1.24.0-beta0019 140 1/3/2023
1.24.0-beta0018 136 1/3/2023
1.24.0-beta0015 162 1/3/2023
1.24.0-beta0009 143 1/1/2023
1.24.0-beta0007 150 1/1/2023
1.24.0-beta0006 132 1/1/2023
1.24.0-beta0002 179 6/12/2022
1.24.0-beta0001 202 12/18/2021
1.23.0 525 12/16/2021
1.23.0-beta0195 218 11/23/2021
1.23.0-beta0193 197 11/22/2021
1.23.0-beta0192 1,168 11/20/2021
1.23.0-beta0185 258 9/17/2021
1.23.0-beta0182 245 9/16/2021
1.23.0-beta0181 295 9/11/2021
1.23.0-beta0180 284 9/11/2021
1.23.0-beta0178 273 9/11/2021
1.23.0-beta0177 279 9/11/2021
1.23.0-beta0172 292 9/11/2021
1.23.0-beta0167 264 2/27/2021
1.23.0-beta0165 295 2/27/2021
1.23.0-beta0164 287 1/23/2021
1.23.0-beta0162 274 1/23/2021
1.23.0-beta0161 276 1/23/2021
1.23.0-beta0081 261 1/14/2021
1.23.0-beta0076 263 1/13/2021
1.23.0-beta0072 317 1/6/2021
1.23.0-beta0068 269 1/6/2021
1.23.0-beta0065 300 1/2/2021
1.23.0-beta0057 290 1/2/2021
1.23.0-beta0056 358 12/13/2020
1.23.0-beta0053 385 12/13/2020
1.23.0-beta0048 391 11/7/2020
1.23.0-beta0026 458 6/20/2020
1.23.0-beta0021 489 6/20/2020
1.23.0-beta0018 393 3/17/2020
1.23.0-beta0008 418 2/7/2020
1.23.0-beta0004 385 2/6/2020
1.23.0-beta0001 472 2/4/2020
1.22.0 8,647 2/4/2020
1.22.0-beta0083 393 2/4/2020
1.22.0-beta0079 482 2/3/2020
1.22.0-beta0076 475 1/14/2020
1.22.0-beta0069 436 1/7/2020
1.22.0-beta0067 455 1/7/2020
1.22.0-beta0061 528 1/6/2020
1.22.0-beta0055 582 1/3/2020
1.22.0-beta0054 451 1/3/2020
1.22.0-beta0053 454 1/3/2020
1.22.0-beta0049 421 12/5/2019
1.22.0-beta0048 390 12/1/2019
1.22.0-beta0047 419 12/1/2019
1.22.0-beta0044 462 11/21/2019
1.22.0-beta0035 419 11/20/2019
1.22.0-beta0034 395 11/17/2019
1.22.0-beta0033 428 11/14/2019
1.22.0-beta0029 451 11/11/2019
1.22.0-beta0027 416 11/11/2019
1.22.0-beta0025 463 11/9/2019
1.22.0-beta0021 429 11/9/2019
1.22.0-beta0019 471 11/9/2019
1.22.0-beta0017 433 11/5/2019
1.22.0-beta0016 517 11/4/2019
1.22.0-beta0015 422 11/3/2019
1.22.0-beta0013 442 11/1/2019
1.22.0-beta0012 421 10/27/2019
1.22.0-beta0009 410 10/26/2019
1.22.0-beta0004 434 10/22/2019
1.22.0-beta0003 424 10/19/2019
1.22.0-beta0002 414 10/19/2019
1.22.0-beta0001 428 10/13/2019
1.21.0 17,585 11/1/2019
1.21.0-rc0002 443 10/9/2019
1.21.0-rc0001 444 9/14/2019
1.21.0-beta0345 582 9/14/2019
1.21.0-beta0344 455 9/14/2019
1.21.0-beta0342 424 9/12/2019
1.21.0-beta0341 427 9/10/2019
1.21.0-beta0337 422 9/10/2019
1.21.0-beta0336 418 9/8/2019
1.21.0-beta0335 444 9/7/2019
1.21.0-beta0332 417 9/7/2019
1.21.0-beta0329 425 9/7/2019
1.21.0-beta0326 449 9/2/2019
1.21.0-beta0313 448 8/30/2019
1.21.0-beta0312 439 8/30/2019
1.21.0-beta0305 438 8/30/2019
1.21.0-beta0297 425 8/28/2019
1.21.0-beta0287 415 8/26/2019
1.21.0-beta0286 442 8/24/2019
1.21.0-beta0283 438 8/23/2019
1.21.0-beta0280 407 8/23/2019
1.21.0-beta0276 435 8/21/2019
1.21.0-beta0275 440 8/21/2019
1.21.0-beta0271 441 8/18/2019
1.21.0-beta0270 435 8/18/2019
1.21.0-beta0268 472 8/10/2019
1.21.0-beta0265 434 8/8/2019
1.21.0-beta0264 450 7/20/2019
1.21.0-beta0244 450 7/2/2019
1.21.0-beta0241 457 7/1/2019
1.21.0-beta0238 412 6/25/2019
1.21.0-beta0237 401 6/23/2019
1.21.0-beta0234 421 6/23/2019
1.21.0-beta0233 433 6/23/2019
1.21.0-beta0228 495 6/6/2019
1.21.0-beta0222 474 6/3/2019
1.21.0-beta0221 411 10/8/2019
1.21.0-beta0220 476 6/1/2019
1.21.0-beta0219 473 6/1/2019
1.21.0-beta0218 470 5/31/2019
1.21.0-beta0217 493 5/30/2019
1.21.0-beta0216 398 10/8/2019
1.21.0-beta0215 401 10/8/2019
1.21.0-beta0213 428 10/8/2019
1.21.0-beta0212 400 10/7/2019
1.21.0-beta0204 405 10/6/2019
1.21.0-beta0193 444 10/3/2019
1.21.0-beta0189 397 10/2/2019
1.21.0-beta0188 413 9/27/2019
1.21.0-beta0187 413 9/26/2019
1.21.0-beta0183 404 9/25/2019
1.21.0-beta0178 440 9/18/2019
1.21.0-beta0048 474 5/30/2019
1.21.0-beta0047 466 5/30/2019
1.21.0-beta0033 431 5/14/2019
1.21.0-beta0029 494 5/6/2019
1.21.0-beta0028 448 5/5/2019
1.21.0-beta0022 478 5/4/2019
1.21.0-beta0011 465 5/3/2019
1.21.0-beta0010 474 5/3/2019
1.21.0-beta0009 455 5/3/2019
1.21.0-beta0008 462 5/3/2019
1.21.0-beta0005 473 4/27/2019
1.21.0-beta0004 470 4/18/2019
1.20.0 2,390 5/30/2019
1.20.0-rc0001 471 4/13/2019
1.20.0-beta0166 435 4/13/2019
1.20.0-beta0147 450 3/26/2019
1.20.0-beta0146 314 3/25/2019
1.20.0-beta0143 305 3/25/2019
1.20.0-beta0142 299 3/14/2019
1.20.0-beta0138 306 3/12/2019
1.20.0-beta0137 316 3/11/2019
1.20.0-beta0136 308 2/27/2019
1.20.0-beta0123 309 2/27/2019
1.20.0-beta0118 363 2/13/2019
1.20.0-beta0112 369 2/6/2019
1.20.0-beta0107 360 2/4/2019
1.20.0-beta0106 363 1/29/2019
1.20.0-beta0103 356 1/29/2019
1.20.0-beta0102 358 1/29/2019
1.20.0-beta0096 361 1/27/2019
1.20.0-beta0094 370 1/27/2019
1.20.0-beta0093 374 1/25/2019
1.20.0-beta0092 361 1/25/2019
1.20.0-beta0091 379 1/23/2019
1.20.0-beta0077 430 1/17/2019
1.20.0-beta0073 433 1/15/2019
1.20.0-beta0072 421 1/14/2019
1.20.0-beta0056 569 1/6/2019
1.20.0-beta0053 577 1/2/2019
1.20.0-beta0052 578 12/31/2018
1.20.0-beta0051 555 12/31/2018
1.20.0-beta0050 573 12/30/2018
1.20.0-beta0049 540 12/30/2018
1.20.0-beta0048 567 12/30/2018
1.20.0-beta0027 538 12/30/2018
1.20.0-beta0005 580 12/4/2018
1.19.0.1 3,039 12/30/2018
1.19.0-rc0001 593 11/13/2018
1.19.0-beta0229 610 11/13/2018
1.19.0-beta0226 605 11/13/2018
1.19.0-beta0225 546 11/10/2018
1.19.0-beta0103 604 11/1/2018
1.19.0-beta0102 629 10/31/2018
1.19.0-beta0098 615 10/31/2018
1.19.0-beta0097 597 10/31/2018
1.19.0-beta0092 599 10/31/2018
1.19.0-beta0091 562 10/31/2018
1.19.0-beta0090 544 10/25/2018
1.19.0-beta0082 574 10/25/2018
1.19.0-beta0081 593 10/23/2018
1.19.0-beta0079 570 10/23/2018
1.19.0-beta0075 620 10/9/2018
1.19.0-beta0071 606 10/2/2018
1.19.0-beta0070 1,214 9/19/2018
1.19.0-beta0069 616 9/19/2018
1.19.0-beta0068 626 9/19/2018
1.19.0-beta0062 695 9/4/2018
1.19.0-beta0061 632 9/4/2018
1.19.0-beta0056 630 8/27/2018
1.19.0-beta0048 643 8/24/2018
1.19.0-beta0047 665 8/12/2018
1.19.0-beta0045 714 7/30/2018
1.19.0-beta0044 688 7/27/2018
1.19.0-beta0043 677 7/27/2018
1.19.0-beta0042 693 7/23/2018
1.19.0-beta0040 655 7/23/2018
1.19.0-beta0037 681 6/29/2018
1.19.0-beta0032 758 6/27/2018
1.19.0-beta0030 848 5/29/2018
1.19.0-beta0022 866 5/25/2018
1.19.0-beta0012 758 5/21/2018
1.19.0-beta0010 809 5/17/2018
1.19.0-beta0009 835 5/14/2018
1.19.0-beta0005 873 4/30/2018
1.18.1 3,771 7/30/2018
1.18.0.1 1,693 4/27/2018
1.18.0 2,906 4/27/2018
1.18.0-rc0004 798 4/26/2018
1.18.0-rc0003 831 4/26/2018
1.18.0-rc0002 1,731 1/23/2018
1.18.0-rc0001 801 1/15/2018
1.18.0-beta0127 877 4/27/2018
1.18.0-beta0126 788 4/26/2018
1.18.0-beta0125 811 4/26/2018
1.18.0-beta0124 829 4/26/2018
1.18.0-beta0116 899 4/13/2018
1.18.0-beta0115 909 4/13/2018
1.18.0-beta0114 949 4/7/2018
1.18.0-beta0111 841 3/6/2018
1.18.0-beta0110 781 2/24/2018
1.18.0-beta0109 836 2/6/2018
1.18.0-beta0103 769 1/25/2018
1.18.0-beta0100 808 1/24/2018
1.18.0-beta0098 734 1/24/2018
1.18.0-beta0094 785 1/24/2018
1.18.0-beta0093 778 1/22/2018
1.18.0-beta0092 800 1/22/2018
1.18.0-beta0090 948 1/22/2018
1.18.0-beta0089 792 1/22/2018
1.18.0-beta0088 822 1/18/2018
1.18.0-beta0084 2,393 1/16/2018
1.18.0-beta0083 795 1/15/2018
1.18.0-beta0082 808 1/15/2018
1.18.0-beta0081 1,263 1/14/2018
1.18.0-beta0080 849 1/14/2018
1.18.0-beta0079 815 1/14/2018
1.18.0-beta0078 827 1/14/2018
1.18.0-beta0029 788 1/7/2018
1.18.0-beta0018 788 1/6/2018
1.18.0-beta0017 818 1/5/2018
1.18.0-beta0014 848 1/5/2018
1.18.0-beta0003 794 12/10/2017
1.17.1 2,825 12/17/2017
1.17.0 2,590 12/9/2017
1.17.0-rc0001 736 11/26/2017
1.17.0-beta0112 809 12/8/2017
1.17.0-beta0111 821 12/5/2017
1.17.0-beta0110 732 12/4/2017
1.17.0-beta0109 704 12/2/2017
1.17.0-beta0107 741 12/2/2017
1.17.0-beta0106 729 11/26/2017
1.17.0-beta0105 738 11/26/2017
1.17.0-beta0096 736 11/25/2017
1.17.0-beta0089 709 11/5/2017
1.17.0-beta0085 743 11/4/2017
1.17.0-beta0084 697 11/4/2017
1.17.0-beta0069 747 11/2/2017
1.17.0-beta0062 714 11/2/2017
1.17.0-beta0061 708 11/1/2017
1.17.0-beta0058 709 11/1/2017
1.17.0-beta0055 698 11/1/2017
1.17.0-beta0040 764 11/1/2017
1.17.0-beta0039 711 11/1/2017
1.17.0-beta0038 764 11/1/2017
1.17.0-beta0005 758 10/27/2017
1.17.0-beta0004 710 10/27/2017
1.17.0-beta0002 715 10/25/2017
1.17.0-beta0001 736 10/25/2017
1.16.0.2 1,268 10/26/2017
1.16.0-rc0001 742 10/15/2017
1.16.0-beta0099 725 10/25/2017
1.16.0-beta0096 743 10/25/2017
1.16.0-beta0089 712 10/25/2017
1.16.0-beta0086 713 10/25/2017
1.16.0-beta0085 750 10/15/2017
1.16.0-beta0081 746 10/15/2017
1.16.0-beta0076 756 10/13/2017
1.16.0-beta0074 731 10/12/2017
1.16.0-beta0067 720 10/12/2017
1.16.0-beta0064 728 10/10/2017
1.16.0-beta0059 751 10/10/2017
1.16.0-beta0055 719 10/9/2017
1.16.0-beta0049 743 10/8/2017
1.16.0-beta0048 723 10/8/2017
1.16.0-beta0044 730 10/8/2017
1.16.0-beta0040 855 9/8/2017
1.16.0-beta0035 735 9/8/2017
1.16.0-beta0032 744 9/8/2017
1.16.0-beta0026 757 9/8/2017
1.16.0-beta0022 719 9/2/2017
1.16.0-beta0021 734 9/2/2017
1.16.0-beta0020 747 9/2/2017
1.16.0-beta0018 738 9/2/2017
1.15.0.1 962 10/26/2017
1.14.0.7 5,973 3/18/2017

# 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/)