NBi.Framework 2.0.0-beta.159

This is a prerelease version of NBi.Framework.
dotnet add package NBi.Framework --version 2.0.0-beta.159
                    
NuGet\Install-Package NBi.Framework -Version 2.0.0-beta.159
                    
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="2.0.0-beta.159" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NBi.Framework" Version="2.0.0-beta.159" />
                    
Directory.Packages.props
<PackageReference Include="NBi.Framework" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NBi.Framework --version 2.0.0-beta.159
                    
#r "nuget: NBi.Framework, 2.0.0-beta.159"
                    
#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.
#addin nuget:?package=NBi.Framework&version=2.0.0-beta.159&prerelease
                    
Install NBi.Framework as a Cake Addin
#tool nuget:?package=NBi.Framework&version=2.0.0-beta.159&prerelease
                    
Install NBi.Framework as a Cake Tool

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.

Social media: website twitter badge

Releases: nuget GitHub Release Date licence badge FOSSA Status

Latest RC and beta: Pre-release GitHub (Pre-)Release Date nuget

Dev. activity: GitHub last commit Still maintained GitHub commit activity

Continuous integration builds: Build status Tests

Status: stars badge Bugs badge Features badge Top language

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 libraries.

Compatibility of licenses in checked by FOSSA app:

FOSSA Status

Bugs, issues and requests for features

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

Continuous Integration and Testing

A continuous integration service is available on AppVeyor and another on Azure DevOps

NBi has around 2750 automated tests, asserting most of the features supported by NBi during the build processes. 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 equivalent 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 (Unfortunately no equivalent for SSAS). If you want to override the connection settings to execut the tests on your own environment, 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.

Note that all the tests are not executed on the continuous integration services, due to limitations in the availability of some components.

  • Unit tests are always executed
  • Integration tests are executed based on the availability of the underlying components:
    • Database Engine: Yes. Due to the usage of an Azure database to run these tests, these tests are enabled on the CI platforms. About ODBC drivers, the ODBC driver for SQL Server (13.1) is used on appVeyor and the SQL Server (10.0) is used on Azure DevOps
    • 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 partially run. The test-suites covering the acceptance tests are executed but will return an ignore result when at least one of the test is not runnable due to service not running (most of the time, the reason for an ignore is the unavailability of Analysis Services).

Three artefacts are packaged and published 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
  • Nuget packages

The nuget packages built on appVeyor are pushed to nuget for beta, release candidates and release branches.

Code and contributions

NBi is using Git as DCVS and the code is hosted on Github. Organization of the Git repository is based on Git-flow.

If you want to develop a new feature, you're encouraged to read the contribution guidelines.

NBi is mostly developed in C# with a bit of SQL and XML.

Tracking

This OSS project is tracked by Ohloh

Project Stats

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
2.0.0-beta.159 48 4/26/2025
2.0.0-beta.158 46 4/26/2025
2.0.0-beta.155 127 3/12/2025
2.0.0-beta.153 120 3/12/2025
2.0.0-beta.151 131 3/11/2025
2.0.0-beta.149 125 3/10/2025
2.0.0-beta.148 126 3/9/2025
2.0.0-beta.146 124 3/9/2025
2.0.0-beta.145 164 3/5/2025
2.0.0-beta.143 63 2/26/2025
2.0.0-beta.142 64 2/24/2025
2.0.0-beta.141 47 2/23/2025
2.0.0-beta.140 62 2/23/2025
2.0.0-beta.135 58 1/28/2025
1.25.0-beta0005 92 1/27/2025
1.25.0-beta0001 167 8/10/2023
1.24.0 301 8/10/2023
1.24.0-beta0047 140 8/10/2023
1.24.0-beta0046 142 8/10/2023
1.24.0-beta0044 135 8/10/2023
1.24.0-beta0040 137 8/10/2023
1.24.0-beta0036 111 8/10/2023
1.24.0-beta0023 118 8/9/2023
1.24.0-beta0020 186 1/3/2023
1.24.0-beta0019 169 1/3/2023
1.24.0-beta0018 160 1/3/2023
1.24.0-beta0015 186 1/3/2023
1.24.0-beta0009 169 1/1/2023
1.24.0-beta0007 174 1/1/2023
1.24.0-beta0006 157 1/1/2023
1.24.0-beta0002 205 6/12/2022
1.24.0-beta0001 233 12/18/2021
1.23.0 587 12/16/2021
1.23.0-beta0195 250 11/23/2021
1.23.0-beta0193 230 11/22/2021
1.23.0-beta0192 1,201 11/20/2021
1.23.0-beta0185 296 9/17/2021
1.23.0-beta0182 278 9/16/2021
1.23.0-beta0181 327 9/11/2021
1.23.0-beta0180 318 9/11/2021
1.23.0-beta0178 310 9/11/2021
1.23.0-beta0177 312 9/11/2021
1.23.0-beta0172 329 9/11/2021
1.23.0-beta0167 308 2/27/2021
1.23.0-beta0165 334 2/27/2021
1.23.0-beta0164 327 1/23/2021
1.23.0-beta0162 315 1/23/2021
1.23.0-beta0161 318 1/23/2021
1.23.0-beta0081 300 1/14/2021
1.23.0-beta0076 303 1/13/2021
1.23.0-beta0072 361 1/6/2021
1.23.0-beta0068 311 1/6/2021
1.23.0-beta0065 341 1/2/2021
1.23.0-beta0057 330 1/2/2021
1.23.0-beta0056 403 12/13/2020
1.23.0-beta0053 426 12/13/2020
1.23.0-beta0048 431 11/7/2020
1.23.0-beta0026 499 6/20/2020
1.23.0-beta0021 534 6/20/2020
1.23.0-beta0018 434 3/17/2020
1.23.0-beta0008 461 2/7/2020
1.23.0-beta0004 429 2/6/2020
1.23.0-beta0001 513 2/4/2020
1.22.0 9,032 2/4/2020
1.22.0-beta0083 437 2/4/2020
1.22.0-beta0079 531 2/3/2020
1.22.0-beta0076 521 1/14/2020
1.22.0-beta0069 482 1/7/2020
1.22.0-beta0067 498 1/7/2020
1.22.0-beta0061 571 1/6/2020
1.22.0-beta0055 625 1/3/2020
1.22.0-beta0054 497 1/3/2020
1.22.0-beta0053 498 1/3/2020
1.22.0-beta0049 467 12/5/2019
1.22.0-beta0048 435 12/1/2019
1.22.0-beta0047 462 12/1/2019
1.22.0-beta0044 505 11/21/2019
1.22.0-beta0035 465 11/20/2019
1.22.0-beta0034 440 11/17/2019
1.22.0-beta0033 473 11/14/2019
1.22.0-beta0029 497 11/11/2019
1.22.0-beta0027 461 11/11/2019
1.22.0-beta0025 507 11/9/2019
1.22.0-beta0021 473 11/9/2019
1.22.0-beta0019 515 11/9/2019
1.22.0-beta0017 480 11/5/2019
1.22.0-beta0016 561 11/4/2019
1.22.0-beta0015 469 11/3/2019
1.22.0-beta0013 488 11/1/2019
1.22.0-beta0012 468 10/27/2019
1.22.0-beta0009 455 10/26/2019
1.22.0-beta0004 481 10/22/2019
1.22.0-beta0003 469 10/19/2019
1.22.0-beta0002 462 10/19/2019
1.22.0-beta0001 477 10/13/2019
1.21.0 17,900 11/1/2019
1.21.0-rc0002 490 10/9/2019
1.21.0-rc0001 492 9/14/2019
1.21.0-beta0345 630 9/14/2019
1.21.0-beta0344 503 9/14/2019
1.21.0-beta0342 470 9/12/2019
1.21.0-beta0341 476 9/10/2019
1.21.0-beta0337 469 9/10/2019
1.21.0-beta0336 465 9/8/2019
1.21.0-beta0335 493 9/7/2019
1.21.0-beta0332 466 9/7/2019
1.21.0-beta0329 474 9/7/2019
1.21.0-beta0326 497 9/2/2019
1.21.0-beta0313 498 8/30/2019
1.21.0-beta0312 488 8/30/2019
1.21.0-beta0305 487 8/30/2019
1.21.0-beta0297 473 8/28/2019
1.21.0-beta0287 464 8/26/2019
1.21.0-beta0286 494 8/24/2019
1.21.0-beta0283 486 8/23/2019
1.21.0-beta0280 455 8/23/2019
1.21.0-beta0276 483 8/21/2019
1.21.0-beta0275 489 8/21/2019
1.21.0-beta0271 490 8/18/2019
1.21.0-beta0270 487 8/18/2019
1.21.0-beta0268 521 8/10/2019
1.21.0-beta0265 483 8/8/2019
1.21.0-beta0264 499 7/20/2019
1.21.0-beta0244 501 7/2/2019
1.21.0-beta0241 504 7/1/2019
1.21.0-beta0238 461 6/25/2019
1.21.0-beta0237 449 6/23/2019
1.21.0-beta0234 468 6/23/2019
1.21.0-beta0233 482 6/23/2019
1.21.0-beta0228 543 6/6/2019
1.21.0-beta0222 520 6/3/2019
1.21.0-beta0221 460 10/8/2019
1.21.0-beta0220 524 6/1/2019
1.21.0-beta0219 521 6/1/2019
1.21.0-beta0218 520 5/31/2019
1.21.0-beta0217 540 5/30/2019
1.21.0-beta0216 449 10/8/2019
1.21.0-beta0215 449 10/8/2019
1.21.0-beta0213 475 10/8/2019
1.21.0-beta0212 448 10/7/2019
1.21.0-beta0204 453 10/6/2019
1.21.0-beta0193 493 10/3/2019
1.21.0-beta0189 453 10/2/2019
1.21.0-beta0188 461 9/27/2019
1.21.0-beta0187 461 9/26/2019
1.21.0-beta0183 453 9/25/2019
1.21.0-beta0178 491 9/18/2019
1.21.0-beta0048 521 5/30/2019
1.21.0-beta0047 515 5/30/2019
1.21.0-beta0033 482 5/14/2019
1.21.0-beta0029 544 5/6/2019
1.21.0-beta0028 501 5/5/2019
1.21.0-beta0022 529 5/4/2019
1.21.0-beta0011 515 5/3/2019
1.21.0-beta0010 523 5/3/2019
1.21.0-beta0009 510 5/3/2019
1.21.0-beta0008 512 5/3/2019
1.21.0-beta0005 524 4/27/2019
1.21.0-beta0004 520 4/18/2019
1.20.0 2,454 5/30/2019
1.20.0-rc0001 522 4/13/2019
1.20.0-beta0166 492 4/13/2019
1.20.0-beta0147 501 3/26/2019
1.20.0-beta0146 364 3/25/2019
1.20.0-beta0143 355 3/25/2019
1.20.0-beta0142 350 3/14/2019
1.20.0-beta0138 357 3/12/2019
1.20.0-beta0137 366 3/11/2019
1.20.0-beta0136 358 2/27/2019
1.20.0-beta0123 360 2/27/2019
1.20.0-beta0118 416 2/13/2019
1.20.0-beta0112 419 2/6/2019
1.20.0-beta0107 411 2/4/2019
1.20.0-beta0106 414 1/29/2019
1.20.0-beta0103 410 1/29/2019
1.20.0-beta0102 413 1/29/2019
1.20.0-beta0096 413 1/27/2019
1.20.0-beta0094 422 1/27/2019
1.20.0-beta0093 425 1/25/2019
1.20.0-beta0092 412 1/25/2019
1.20.0-beta0091 429 1/23/2019
1.20.0-beta0077 480 1/17/2019
1.20.0-beta0073 485 1/15/2019
1.20.0-beta0072 472 1/14/2019
1.20.0-beta0056 620 1/6/2019
1.20.0-beta0053 628 1/2/2019
1.20.0-beta0052 630 12/31/2018
1.20.0-beta0051 607 12/31/2018
1.20.0-beta0050 625 12/30/2018
1.20.0-beta0049 590 12/30/2018
1.20.0-beta0048 618 12/30/2018
1.20.0-beta0027 595 12/30/2018
1.20.0-beta0005 641 12/4/2018
1.19.0.1 3,122 12/30/2018
1.19.0-rc0001 658 11/13/2018
1.19.0-beta0229 673 11/13/2018
1.19.0-beta0226 669 11/13/2018
1.19.0-beta0225 610 11/10/2018
1.19.0-beta0103 668 11/1/2018
1.19.0-beta0102 696 10/31/2018
1.19.0-beta0098 681 10/31/2018
1.19.0-beta0097 662 10/31/2018
1.19.0-beta0092 662 10/31/2018
1.19.0-beta0091 626 10/31/2018
1.19.0-beta0090 611 10/25/2018
1.19.0-beta0082 639 10/25/2018
1.19.0-beta0081 658 10/23/2018
1.19.0-beta0079 637 10/23/2018
1.19.0-beta0075 684 10/9/2018
1.19.0-beta0071 675 10/2/2018
1.19.0-beta0070 1,282 9/19/2018
1.19.0-beta0069 684 9/19/2018
1.19.0-beta0068 697 9/19/2018
1.19.0-beta0062 766 9/4/2018
1.19.0-beta0061 701 9/4/2018
1.19.0-beta0056 706 8/27/2018
1.19.0-beta0048 710 8/24/2018
1.19.0-beta0047 737 8/12/2018
1.19.0-beta0045 825 7/30/2018
1.19.0-beta0044 797 7/27/2018
1.19.0-beta0043 786 7/27/2018
1.19.0-beta0042 801 7/23/2018
1.19.0-beta0040 768 7/23/2018
1.19.0-beta0037 790 6/29/2018
1.19.0-beta0032 917 6/27/2018
1.19.0-beta0030 1,008 5/29/2018
1.19.0-beta0022 1,029 5/25/2018
1.19.0-beta0012 921 5/21/2018
1.19.0-beta0010 977 5/17/2018
1.19.0-beta0009 1,004 5/14/2018
1.19.0-beta0005 1,041 4/30/2018
1.18.1 3,887 7/30/2018
1.18.0.1 1,868 4/27/2018
1.18.0 3,080 4/27/2018
1.18.0-rc0004 967 4/26/2018
1.18.0-rc0003 1,001 4/26/2018
1.18.0-rc0002 1,905 1/23/2018
1.18.0-rc0001 975 1/15/2018
1.18.0-beta0127 1,048 4/27/2018
1.18.0-beta0126 958 4/26/2018
1.18.0-beta0125 984 4/26/2018
1.18.0-beta0124 1,000 4/26/2018
1.18.0-beta0116 1,070 4/13/2018
1.18.0-beta0115 1,084 4/13/2018
1.18.0-beta0114 1,124 4/7/2018
1.18.0-beta0111 1,012 3/6/2018
1.18.0-beta0110 950 2/24/2018
1.18.0-beta0109 1,007 2/6/2018
1.18.0-beta0103 943 1/25/2018
1.18.0-beta0100 981 1/24/2018
1.18.0-beta0098 850 1/24/2018
1.18.0-beta0094 960 1/24/2018
1.18.0-beta0093 953 1/22/2018
1.18.0-beta0092 974 1/22/2018
1.18.0-beta0090 1,121 1/22/2018
1.18.0-beta0089 967 1/22/2018
1.18.0-beta0088 996 1/18/2018
1.18.0-beta0084 2,571 1/16/2018
1.18.0-beta0083 970 1/15/2018
1.18.0-beta0082 982 1/15/2018
1.18.0-beta0081 1,444 1/14/2018
1.18.0-beta0080 1,022 1/14/2018
1.18.0-beta0079 990 1/14/2018
1.18.0-beta0078 1,001 1/14/2018
1.18.0-beta0029 962 1/7/2018
1.18.0-beta0018 961 1/6/2018
1.18.0-beta0017 992 1/5/2018
1.18.0-beta0014 1,023 1/5/2018
1.18.0-beta0003 972 12/10/2017
1.17.1 3,013 12/17/2017
1.17.0 2,774 12/9/2017
1.17.0-rc0001 851 11/26/2017
1.17.0-beta0112 984 12/8/2017
1.17.0-beta0111 998 12/5/2017
1.17.0-beta0110 854 12/4/2017
1.17.0-beta0109 824 12/2/2017
1.17.0-beta0107 862 12/2/2017
1.17.0-beta0106 846 11/26/2017
1.17.0-beta0105 856 11/26/2017
1.17.0-beta0096 856 11/25/2017
1.17.0-beta0089 826 11/5/2017
1.17.0-beta0085 862 11/4/2017
1.17.0-beta0084 812 11/4/2017
1.17.0-beta0069 863 11/2/2017
1.17.0-beta0062 830 11/2/2017
1.17.0-beta0061 824 11/1/2017
1.17.0-beta0058 826 11/1/2017
1.17.0-beta0055 814 11/1/2017
1.17.0-beta0040 884 11/1/2017
1.17.0-beta0039 826 11/1/2017
1.17.0-beta0038 880 11/1/2017
1.17.0-beta0005 874 10/27/2017
1.17.0-beta0004 827 10/27/2017
1.17.0-beta0002 833 10/25/2017
1.17.0-beta0001 854 10/25/2017
1.16.0.2 1,523 10/26/2017
1.16.0-rc0001 865 10/15/2017
1.16.0-beta0099 841 10/25/2017
1.16.0-beta0096 859 10/25/2017
1.16.0-beta0089 827 10/25/2017
1.16.0-beta0086 830 10/25/2017
1.16.0-beta0085 867 10/15/2017
1.16.0-beta0081 861 10/15/2017
1.16.0-beta0076 872 10/13/2017
1.16.0-beta0074 847 10/12/2017
1.16.0-beta0067 838 10/12/2017
1.16.0-beta0064 845 10/10/2017
1.16.0-beta0059 867 10/10/2017
1.16.0-beta0055 835 10/9/2017
1.16.0-beta0049 860 10/8/2017
1.16.0-beta0048 840 10/8/2017
1.16.0-beta0044 846 10/8/2017
1.16.0-beta0040 1,036 9/8/2017
1.16.0-beta0035 854 9/8/2017
1.16.0-beta0032 860 9/8/2017
1.16.0-beta0026 873 9/8/2017
1.16.0-beta0022 835 9/2/2017
1.16.0-beta0021 851 9/2/2017
1.16.0-beta0020 862 9/2/2017
1.16.0-beta0018 854 9/2/2017
1.15.0.1 1,092 10/26/2017
1.14.0.7 6,251 3/18/2017