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.
#:package NBi.Framework@2.0.0-beta.159
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NBi.Framework&version=2.0.0-beta.159&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=NBi.Framework&version=2.0.0-beta.159&prerelease
                    
Install 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 116 4/26/2025
2.0.0-beta.158 100 4/26/2025
2.0.0-beta.155 182 3/12/2025
2.0.0-beta.153 162 3/12/2025
2.0.0-beta.151 168 3/11/2025
2.0.0-beta.149 167 3/10/2025
2.0.0-beta.148 172 3/9/2025
2.0.0-beta.146 172 3/9/2025
2.0.0-beta.145 223 3/5/2025
2.0.0-beta.143 104 2/26/2025
2.0.0-beta.142 135 2/24/2025
2.0.0-beta.141 91 2/23/2025
2.0.0-beta.140 110 2/23/2025
2.0.0-beta.135 127 1/28/2025
1.25.0-beta0005 180 1/27/2025
1.25.0-beta0001 248 8/10/2023
1.24.0 15,201 8/10/2023
1.24.0-beta0047 222 8/10/2023
1.24.0-beta0046 223 8/10/2023
1.24.0-beta0044 213 8/10/2023
1.24.0-beta0040 226 8/10/2023
1.24.0-beta0036 185 8/10/2023
1.24.0-beta0023 201 8/9/2023
1.24.0-beta0020 295 1/3/2023
1.24.0-beta0019 270 1/3/2023
1.24.0-beta0018 282 1/3/2023
1.24.0-beta0015 307 1/3/2023
1.24.0-beta0009 271 1/1/2023
1.24.0-beta0007 278 1/1/2023
1.24.0-beta0006 284 1/1/2023
1.24.0-beta0002 326 6/12/2022
1.24.0-beta0001 372 12/18/2021
1.23.0 15,508 12/16/2021
1.23.0-beta0195 385 11/23/2021
1.23.0-beta0193 356 11/22/2021
1.23.0-beta0192 1,348 11/20/2021
1.23.0-beta0185 405 9/17/2021
1.23.0-beta0182 435 9/16/2021
1.23.0-beta0181 448 9/11/2021
1.23.0-beta0180 446 9/11/2021
1.23.0-beta0178 427 9/11/2021
1.23.0-beta0177 453 9/11/2021
1.23.0-beta0172 446 9/11/2021
1.23.0-beta0167 448 2/27/2021
1.23.0-beta0165 464 2/27/2021
1.23.0-beta0164 461 1/23/2021
1.23.0-beta0162 484 1/23/2021
1.23.0-beta0161 459 1/23/2021
1.23.0-beta0081 453 1/14/2021
1.23.0-beta0076 438 1/13/2021
1.23.0-beta0072 536 1/6/2021
1.23.0-beta0068 451 1/6/2021
1.23.0-beta0065 484 1/2/2021
1.23.0-beta0057 494 1/2/2021
1.23.0-beta0056 541 12/13/2020
1.23.0-beta0053 566 12/13/2020
1.23.0-beta0048 599 11/7/2020
1.23.0-beta0026 641 6/20/2020
1.23.0-beta0021 667 6/20/2020
1.23.0-beta0018 591 3/17/2020
1.23.0-beta0008 605 2/7/2020
1.23.0-beta0004 571 2/6/2020
1.23.0-beta0001 655 2/4/2020
1.22.0 24,196 2/4/2020
1.22.0-beta0083 593 2/4/2020
1.22.0-beta0079 677 2/3/2020
1.22.0-beta0076 679 1/14/2020
1.22.0-beta0069 628 1/7/2020
1.22.0-beta0067 664 1/7/2020
1.22.0-beta0061 722 1/6/2020
1.22.0-beta0055 820 1/3/2020
1.22.0-beta0054 774 1/3/2020
1.22.0-beta0053 801 1/3/2020
1.22.0-beta0049 746 12/5/2019
1.22.0-beta0048 706 12/1/2019
1.22.0-beta0047 732 12/1/2019
1.22.0-beta0044 804 11/21/2019
1.22.0-beta0035 769 11/20/2019
1.22.0-beta0034 711 11/17/2019
1.22.0-beta0033 740 11/14/2019
1.22.0-beta0029 781 11/11/2019
1.22.0-beta0027 739 11/11/2019
1.22.0-beta0025 791 11/9/2019
1.22.0-beta0021 750 11/9/2019
1.22.0-beta0019 796 11/9/2019
1.22.0-beta0017 770 11/5/2019
1.22.0-beta0016 843 11/4/2019
1.22.0-beta0015 739 11/3/2019
1.22.0-beta0013 668 11/1/2019
1.22.0-beta0012 640 10/27/2019
1.22.0-beta0009 619 10/26/2019
1.22.0-beta0004 630 10/22/2019
1.22.0-beta0003 619 10/19/2019
1.22.0-beta0002 620 10/19/2019
1.22.0-beta0001 630 10/13/2019
1.21.0 32,979 11/1/2019
1.21.0-rc0002 646 10/9/2019
1.21.0-rc0001 660 9/14/2019
1.21.0-beta0345 797 9/14/2019
1.21.0-beta0344 671 9/14/2019
1.21.0-beta0342 637 9/12/2019
1.21.0-beta0341 630 9/10/2019
1.21.0-beta0337 624 9/10/2019
1.21.0-beta0336 604 9/8/2019
1.21.0-beta0335 650 9/7/2019
1.21.0-beta0332 619 9/7/2019
1.21.0-beta0329 632 9/7/2019
1.21.0-beta0326 639 9/2/2019
1.21.0-beta0313 667 8/30/2019
1.21.0-beta0312 645 8/30/2019
1.21.0-beta0305 627 8/30/2019
1.21.0-beta0297 603 8/28/2019
1.21.0-beta0287 623 8/26/2019
1.21.0-beta0286 651 8/24/2019
1.21.0-beta0283 628 8/23/2019
1.21.0-beta0280 595 8/23/2019
1.21.0-beta0276 627 8/21/2019
1.21.0-beta0275 629 8/21/2019
1.21.0-beta0271 654 8/18/2019
1.21.0-beta0270 647 8/18/2019
1.21.0-beta0268 664 8/10/2019
1.21.0-beta0265 628 8/8/2019
1.21.0-beta0264 643 7/20/2019
1.21.0-beta0244 653 7/2/2019
1.21.0-beta0241 644 7/1/2019
1.21.0-beta0238 604 6/25/2019
1.21.0-beta0237 606 6/23/2019
1.21.0-beta0234 636 6/23/2019
1.21.0-beta0233 633 6/23/2019
1.21.0-beta0228 692 6/6/2019
1.21.0-beta0222 672 6/3/2019
1.21.0-beta0221 609 10/8/2019
1.21.0-beta0220 680 6/1/2019
1.21.0-beta0219 673 6/1/2019
1.21.0-beta0218 675 5/31/2019
1.21.0-beta0217 680 5/30/2019
1.21.0-beta0216 627 10/8/2019
1.21.0-beta0215 602 10/8/2019
1.21.0-beta0213 624 10/8/2019
1.21.0-beta0212 603 10/7/2019
1.21.0-beta0204 632 10/6/2019
1.21.0-beta0193 635 10/3/2019
1.21.0-beta0189 595 10/2/2019
1.21.0-beta0188 604 9/27/2019
1.21.0-beta0187 604 9/26/2019
1.21.0-beta0183 595 9/25/2019
1.21.0-beta0178 631 9/18/2019
1.21.0-beta0048 660 5/30/2019
1.21.0-beta0047 673 5/30/2019
1.21.0-beta0033 632 5/14/2019
1.21.0-beta0029 698 5/6/2019
1.21.0-beta0028 660 5/5/2019
1.21.0-beta0022 672 5/4/2019
1.21.0-beta0011 689 5/3/2019
1.21.0-beta0010 683 5/3/2019
1.21.0-beta0009 669 5/3/2019
1.21.0-beta0008 684 5/3/2019
1.21.0-beta0005 661 4/27/2019
1.21.0-beta0004 671 4/18/2019
1.20.0 17,387 5/30/2019
1.20.0-rc0001 677 4/13/2019
1.20.0-beta0166 621 4/13/2019
1.20.0-beta0147 648 3/26/2019
1.20.0-beta0146 513 3/25/2019
1.20.0-beta0143 498 3/25/2019
1.20.0-beta0142 498 3/14/2019
1.20.0-beta0138 480 3/12/2019
1.20.0-beta0137 508 3/11/2019
1.20.0-beta0136 483 2/27/2019
1.20.0-beta0123 486 2/27/2019
1.20.0-beta0118 561 2/13/2019
1.20.0-beta0112 550 2/6/2019
1.20.0-beta0107 561 2/4/2019
1.20.0-beta0106 534 1/29/2019
1.20.0-beta0103 548 1/29/2019
1.20.0-beta0102 556 1/29/2019
1.20.0-beta0096 562 1/27/2019
1.20.0-beta0094 544 1/27/2019
1.20.0-beta0093 550 1/25/2019
1.20.0-beta0092 543 1/25/2019
1.20.0-beta0091 554 1/23/2019
1.20.0-beta0077 611 1/17/2019
1.20.0-beta0073 641 1/15/2019
1.20.0-beta0072 598 1/14/2019
1.20.0-beta0056 769 1/6/2019
1.20.0-beta0053 801 1/2/2019
1.20.0-beta0052 793 12/31/2018
1.20.0-beta0051 748 12/31/2018
1.20.0-beta0050 789 12/30/2018
1.20.0-beta0049 724 12/30/2018
1.20.0-beta0048 781 12/30/2018
1.20.0-beta0027 741 12/30/2018
1.20.0-beta0005 788 12/4/2018
1.19.0.1 18,049 12/30/2018
1.19.0-rc0001 811 11/13/2018
1.19.0-beta0229 822 11/13/2018
1.19.0-beta0226 821 11/13/2018
1.19.0-beta0225 787 11/10/2018
1.19.0-beta0103 831 11/1/2018
1.19.0-beta0102 876 10/31/2018
1.19.0-beta0098 822 10/31/2018
1.19.0-beta0097 817 10/31/2018
1.19.0-beta0092 822 10/31/2018
1.19.0-beta0091 775 10/31/2018
1.19.0-beta0090 779 10/25/2018
1.19.0-beta0082 816 10/25/2018
1.19.0-beta0081 821 10/23/2018
1.19.0-beta0079 822 10/23/2018
1.19.0-beta0075 836 10/9/2018
1.19.0-beta0071 868 10/2/2018
1.19.0-beta0070 1,560 9/19/2018
1.19.0-beta0069 842 9/19/2018
1.19.0-beta0068 860 9/19/2018
1.19.0-beta0062 921 9/4/2018
1.19.0-beta0061 886 9/4/2018
1.19.0-beta0056 879 8/27/2018
1.19.0-beta0048 886 8/24/2018
1.19.0-beta0047 886 8/12/2018
1.19.0-beta0045 1,071 7/30/2018
1.19.0-beta0044 1,040 7/27/2018
1.19.0-beta0043 1,026 7/27/2018
1.19.0-beta0042 1,061 7/23/2018
1.19.0-beta0040 1,018 7/23/2018
1.19.0-beta0037 1,034 6/29/2018
1.19.0-beta0032 1,279 6/27/2018
1.19.0-beta0030 1,384 5/29/2018
1.19.0-beta0022 1,375 5/25/2018
1.19.0-beta0012 1,244 5/21/2018
1.19.0-beta0010 1,341 5/17/2018
1.19.0-beta0009 1,346 5/14/2018
1.19.0-beta0005 1,382 4/30/2018
1.18.1 18,910 7/30/2018
1.18.0.1 17,093 4/27/2018
1.18.0 18,203 4/27/2018
1.18.0-rc0004 1,322 4/26/2018
1.18.0-rc0003 1,345 4/26/2018
1.18.0-rc0002 2,467 1/23/2018
1.18.0-rc0001 1,313 1/15/2018
1.18.0-beta0127 1,401 4/27/2018
1.18.0-beta0126 1,289 4/26/2018
1.18.0-beta0125 1,321 4/26/2018
1.18.0-beta0124 1,345 4/26/2018
1.18.0-beta0116 1,418 4/13/2018
1.18.0-beta0115 1,438 4/13/2018
1.18.0-beta0114 1,469 4/7/2018
1.18.0-beta0111 1,383 3/6/2018
1.18.0-beta0110 1,317 2/24/2018
1.18.0-beta0109 1,349 2/6/2018
1.18.0-beta0103 1,305 1/25/2018
1.18.0-beta0100 1,331 1/24/2018
1.18.0-beta0098 1,119 1/24/2018
1.18.0-beta0094 1,333 1/24/2018
1.18.0-beta0093 1,292 1/22/2018
1.18.0-beta0092 1,324 1/22/2018
1.18.0-beta0090 1,506 1/22/2018
1.18.0-beta0089 1,307 1/22/2018
1.18.0-beta0088 1,371 1/18/2018
1.18.0-beta0084 3,215 1/16/2018
1.18.0-beta0083 1,337 1/15/2018
1.18.0-beta0082 1,321 1/15/2018
1.18.0-beta0081 1,909 1/14/2018
1.18.0-beta0080 1,361 1/14/2018
1.18.0-beta0079 1,329 1/14/2018
1.18.0-beta0078 1,351 1/14/2018
1.18.0-beta0029 1,329 1/7/2018
1.18.0-beta0018 1,335 1/6/2018
1.18.0-beta0017 1,337 1/5/2018
1.18.0-beta0014 1,383 1/5/2018
1.18.0-beta0003 1,329 12/10/2017
1.17.1 18,183 12/17/2017
1.17.0 17,923 12/9/2017
1.17.0-rc0001 1,127 11/26/2017
1.17.0-beta0112 1,318 12/8/2017
1.17.0-beta0111 1,377 12/5/2017
1.17.0-beta0110 1,099 12/4/2017
1.17.0-beta0109 1,104 12/2/2017
1.17.0-beta0107 1,100 12/2/2017
1.17.0-beta0106 1,120 11/26/2017
1.17.0-beta0105 1,092 11/26/2017
1.17.0-beta0096 1,091 11/25/2017
1.17.0-beta0089 1,103 11/5/2017
1.17.0-beta0085 1,144 11/4/2017
1.17.0-beta0084 1,056 11/4/2017
1.17.0-beta0069 1,109 11/2/2017
1.17.0-beta0062 1,123 11/2/2017
1.17.0-beta0061 1,098 11/1/2017
1.17.0-beta0058 1,080 11/1/2017
1.17.0-beta0055 1,084 11/1/2017
1.17.0-beta0040 1,153 11/1/2017
1.17.0-beta0039 1,069 11/1/2017
1.17.0-beta0038 1,132 11/1/2017
1.17.0-beta0005 1,124 10/27/2017
1.17.0-beta0004 1,066 10/27/2017
1.17.0-beta0002 1,100 10/25/2017
1.17.0-beta0001 1,101 10/25/2017
1.16.0.2 16,737 10/26/2017
1.16.0-rc0001 1,113 10/15/2017
1.16.0-beta0099 1,125 10/25/2017
1.16.0-beta0096 1,110 10/25/2017
1.16.0-beta0089 1,109 10/25/2017
1.16.0-beta0086 1,092 10/25/2017
1.16.0-beta0085 1,118 10/15/2017
1.16.0-beta0081 1,109 10/15/2017
1.16.0-beta0076 1,112 10/13/2017
1.16.0-beta0074 1,097 10/12/2017
1.16.0-beta0067 1,091 10/12/2017
1.16.0-beta0064 1,119 10/10/2017
1.16.0-beta0059 1,112 10/10/2017
1.16.0-beta0055 1,106 10/9/2017
1.16.0-beta0049 1,106 10/8/2017
1.16.0-beta0048 1,094 10/8/2017
1.16.0-beta0044 1,111 10/8/2017
1.16.0-beta0040 1,382 9/8/2017
1.16.0-beta0035 1,105 9/8/2017
1.16.0-beta0032 1,100 9/8/2017
1.16.0-beta0026 1,140 9/8/2017
1.16.0-beta0022 1,081 9/2/2017
1.16.0-beta0021 1,096 9/2/2017
1.16.0-beta0020 1,130 9/2/2017
1.16.0-beta0018 1,129 9/2/2017
1.15.0.1 16,096 10/26/2017
1.14.0.7 21,543 3/18/2017