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 84 4/26/2025
2.0.0-beta.158 68 4/26/2025
2.0.0-beta.155 153 3/12/2025
2.0.0-beta.153 140 3/12/2025
2.0.0-beta.151 148 3/11/2025
2.0.0-beta.149 146 3/10/2025
2.0.0-beta.148 148 3/9/2025
2.0.0-beta.146 146 3/9/2025
2.0.0-beta.145 192 3/5/2025
2.0.0-beta.143 82 2/26/2025
2.0.0-beta.142 103 2/24/2025
2.0.0-beta.141 68 2/23/2025
2.0.0-beta.140 83 2/23/2025
2.0.0-beta.135 93 1/28/2025
1.25.0-beta0005 126 1/27/2025
1.25.0-beta0001 203 8/10/2023
1.24.0 1,343 8/10/2023
1.24.0-beta0047 179 8/10/2023
1.24.0-beta0046 178 8/10/2023
1.24.0-beta0044 173 8/10/2023
1.24.0-beta0040 179 8/10/2023
1.24.0-beta0036 152 8/10/2023
1.24.0-beta0023 158 8/9/2023
1.24.0-beta0020 235 1/3/2023
1.24.0-beta0019 210 1/3/2023
1.24.0-beta0018 215 1/3/2023
1.24.0-beta0015 245 1/3/2023
1.24.0-beta0009 211 1/1/2023
1.24.0-beta0007 220 1/1/2023
1.24.0-beta0006 209 1/1/2023
1.24.0-beta0002 261 6/12/2022
1.24.0-beta0001 301 12/18/2021
1.23.0 1,615 12/16/2021
1.23.0-beta0195 305 11/23/2021
1.23.0-beta0193 284 11/22/2021
1.23.0-beta0192 1,263 11/20/2021
1.23.0-beta0185 349 9/17/2021
1.23.0-beta0182 350 9/16/2021
1.23.0-beta0181 380 9/11/2021
1.23.0-beta0180 377 9/11/2021
1.23.0-beta0178 360 9/11/2021
1.23.0-beta0177 374 9/11/2021
1.23.0-beta0172 379 9/11/2021
1.23.0-beta0167 367 2/27/2021
1.23.0-beta0165 398 2/27/2021
1.23.0-beta0164 385 1/23/2021
1.23.0-beta0162 395 1/23/2021
1.23.0-beta0161 374 1/23/2021
1.23.0-beta0081 364 1/14/2021
1.23.0-beta0076 363 1/13/2021
1.23.0-beta0072 442 1/6/2021
1.23.0-beta0068 370 1/6/2021
1.23.0-beta0065 405 1/2/2021
1.23.0-beta0057 405 1/2/2021
1.23.0-beta0056 461 12/13/2020
1.23.0-beta0053 490 12/13/2020
1.23.0-beta0048 507 11/7/2020
1.23.0-beta0026 560 6/20/2020
1.23.0-beta0021 594 6/20/2020
1.23.0-beta0018 505 3/17/2020
1.23.0-beta0008 534 2/7/2020
1.23.0-beta0004 494 2/6/2020
1.23.0-beta0001 577 2/4/2020
1.22.0 10,193 2/4/2020
1.22.0-beta0083 508 2/4/2020
1.22.0-beta0079 599 2/3/2020
1.22.0-beta0076 599 1/14/2020
1.22.0-beta0069 554 1/7/2020
1.22.0-beta0067 573 1/7/2020
1.22.0-beta0061 636 1/6/2020
1.22.0-beta0055 704 1/3/2020
1.22.0-beta0054 598 1/3/2020
1.22.0-beta0053 617 1/3/2020
1.22.0-beta0049 568 12/5/2019
1.22.0-beta0048 533 12/1/2019
1.22.0-beta0047 560 12/1/2019
1.22.0-beta0044 624 11/21/2019
1.22.0-beta0035 578 11/20/2019
1.22.0-beta0034 539 11/17/2019
1.22.0-beta0033 576 11/14/2019
1.22.0-beta0029 606 11/11/2019
1.22.0-beta0027 563 11/11/2019
1.22.0-beta0025 620 11/9/2019
1.22.0-beta0021 583 11/9/2019
1.22.0-beta0019 618 11/9/2019
1.22.0-beta0017 588 11/5/2019
1.22.0-beta0016 659 11/4/2019
1.22.0-beta0015 570 11/3/2019
1.22.0-beta0013 573 11/1/2019
1.22.0-beta0012 548 10/27/2019
1.22.0-beta0009 527 10/26/2019
1.22.0-beta0004 548 10/22/2019
1.22.0-beta0003 538 10/19/2019
1.22.0-beta0002 539 10/19/2019
1.22.0-beta0001 548 10/13/2019
1.21.0 19,070 11/1/2019
1.21.0-rc0002 563 10/9/2019
1.21.0-rc0001 573 9/14/2019
1.21.0-beta0345 713 9/14/2019
1.21.0-beta0344 585 9/14/2019
1.21.0-beta0342 551 9/12/2019
1.21.0-beta0341 558 9/10/2019
1.21.0-beta0337 535 9/10/2019
1.21.0-beta0336 535 9/8/2019
1.21.0-beta0335 573 9/7/2019
1.21.0-beta0332 550 9/7/2019
1.21.0-beta0329 546 9/7/2019
1.21.0-beta0326 565 9/2/2019
1.21.0-beta0313 574 8/30/2019
1.21.0-beta0312 557 8/30/2019
1.21.0-beta0305 551 8/30/2019
1.21.0-beta0297 536 8/28/2019
1.21.0-beta0287 549 8/26/2019
1.21.0-beta0286 565 8/24/2019
1.21.0-beta0283 553 8/23/2019
1.21.0-beta0280 521 8/23/2019
1.21.0-beta0276 546 8/21/2019
1.21.0-beta0275 555 8/21/2019
1.21.0-beta0271 571 8/18/2019
1.21.0-beta0270 568 8/18/2019
1.21.0-beta0268 588 8/10/2019
1.21.0-beta0265 553 8/8/2019
1.21.0-beta0264 567 7/20/2019
1.21.0-beta0244 569 7/2/2019
1.21.0-beta0241 569 7/1/2019
1.21.0-beta0238 525 6/25/2019
1.21.0-beta0237 529 6/23/2019
1.21.0-beta0234 553 6/23/2019
1.21.0-beta0233 549 6/23/2019
1.21.0-beta0228 622 6/6/2019
1.21.0-beta0222 596 6/3/2019
1.21.0-beta0221 528 10/8/2019
1.21.0-beta0220 609 6/1/2019
1.21.0-beta0219 591 6/1/2019
1.21.0-beta0218 589 5/31/2019
1.21.0-beta0217 607 5/30/2019
1.21.0-beta0216 535 10/8/2019
1.21.0-beta0215 514 10/8/2019
1.21.0-beta0213 543 10/8/2019
1.21.0-beta0212 522 10/7/2019
1.21.0-beta0204 538 10/6/2019
1.21.0-beta0193 564 10/3/2019
1.21.0-beta0189 522 10/2/2019
1.21.0-beta0188 530 9/27/2019
1.21.0-beta0187 529 9/26/2019
1.21.0-beta0183 520 9/25/2019
1.21.0-beta0178 557 9/18/2019
1.21.0-beta0048 597 5/30/2019
1.21.0-beta0047 583 5/30/2019
1.21.0-beta0033 550 5/14/2019
1.21.0-beta0029 610 5/6/2019
1.21.0-beta0028 575 5/5/2019
1.21.0-beta0022 597 5/4/2019
1.21.0-beta0011 601 5/3/2019
1.21.0-beta0010 608 5/3/2019
1.21.0-beta0009 590 5/3/2019
1.21.0-beta0008 594 5/3/2019
1.21.0-beta0005 587 4/27/2019
1.21.0-beta0004 590 4/18/2019
1.20.0 3,510 5/30/2019
1.20.0-rc0001 601 4/13/2019
1.20.0-beta0166 555 4/13/2019
1.20.0-beta0147 568 3/26/2019
1.20.0-beta0146 445 3/25/2019
1.20.0-beta0143 433 3/25/2019
1.20.0-beta0142 433 3/14/2019
1.20.0-beta0138 427 3/12/2019
1.20.0-beta0137 445 3/11/2019
1.20.0-beta0136 424 2/27/2019
1.20.0-beta0123 432 2/27/2019
1.20.0-beta0118 498 2/13/2019
1.20.0-beta0112 488 2/6/2019
1.20.0-beta0107 501 2/4/2019
1.20.0-beta0106 477 1/29/2019
1.20.0-beta0103 486 1/29/2019
1.20.0-beta0102 488 1/29/2019
1.20.0-beta0096 495 1/27/2019
1.20.0-beta0094 489 1/27/2019
1.20.0-beta0093 494 1/25/2019
1.20.0-beta0092 482 1/25/2019
1.20.0-beta0091 499 1/23/2019
1.20.0-beta0077 549 1/17/2019
1.20.0-beta0073 573 1/15/2019
1.20.0-beta0072 540 1/14/2019
1.20.0-beta0056 689 1/6/2019
1.20.0-beta0053 712 1/2/2019
1.20.0-beta0052 705 12/31/2018
1.20.0-beta0051 672 12/31/2018
1.20.0-beta0050 701 12/30/2018
1.20.0-beta0049 660 12/30/2018
1.20.0-beta0048 695 12/30/2018
1.20.0-beta0027 662 12/30/2018
1.20.0-beta0005 707 12/4/2018
1.19.0.1 4,186 12/30/2018
1.19.0-rc0001 732 11/13/2018
1.19.0-beta0229 744 11/13/2018
1.19.0-beta0226 740 11/13/2018
1.19.0-beta0225 696 11/10/2018
1.19.0-beta0103 751 11/1/2018
1.19.0-beta0102 783 10/31/2018
1.19.0-beta0098 755 10/31/2018
1.19.0-beta0097 731 10/31/2018
1.19.0-beta0092 734 10/31/2018
1.19.0-beta0091 698 10/31/2018
1.19.0-beta0090 681 10/25/2018
1.19.0-beta0082 724 10/25/2018
1.19.0-beta0081 734 10/23/2018
1.19.0-beta0079 722 10/23/2018
1.19.0-beta0075 757 10/9/2018
1.19.0-beta0071 765 10/2/2018
1.19.0-beta0070 1,356 9/19/2018
1.19.0-beta0069 755 9/19/2018
1.19.0-beta0068 776 9/19/2018
1.19.0-beta0062 839 9/4/2018
1.19.0-beta0061 788 9/4/2018
1.19.0-beta0056 797 8/27/2018
1.19.0-beta0048 795 8/24/2018
1.19.0-beta0047 812 8/12/2018
1.19.0-beta0045 957 7/30/2018
1.19.0-beta0044 921 7/27/2018
1.19.0-beta0043 913 7/27/2018
1.19.0-beta0042 936 7/23/2018
1.19.0-beta0040 892 7/23/2018
1.19.0-beta0037 915 6/29/2018
1.19.0-beta0032 1,117 6/27/2018
1.19.0-beta0030 1,213 5/29/2018
1.19.0-beta0022 1,217 5/25/2018
1.19.0-beta0012 1,105 5/21/2018
1.19.0-beta0010 1,177 5/17/2018
1.19.0-beta0009 1,190 5/14/2018
1.19.0-beta0005 1,230 4/30/2018
1.18.1 4,997 7/30/2018
1.18.0.1 3,050 4/27/2018
1.18.0 4,258 4/27/2018
1.18.0-rc0004 1,155 4/26/2018
1.18.0-rc0003 1,189 4/26/2018
1.18.0-rc0002 2,114 1/23/2018
1.18.0-rc0001 1,164 1/15/2018
1.18.0-beta0127 1,235 4/27/2018
1.18.0-beta0126 1,149 4/26/2018
1.18.0-beta0125 1,174 4/26/2018
1.18.0-beta0124 1,188 4/26/2018
1.18.0-beta0116 1,266 4/13/2018
1.18.0-beta0115 1,274 4/13/2018
1.18.0-beta0114 1,318 4/7/2018
1.18.0-beta0111 1,218 3/6/2018
1.18.0-beta0110 1,155 2/24/2018
1.18.0-beta0109 1,198 2/6/2018
1.18.0-beta0103 1,141 1/25/2018
1.18.0-beta0100 1,173 1/24/2018
1.18.0-beta0098 995 1/24/2018
1.18.0-beta0094 1,164 1/24/2018
1.18.0-beta0093 1,141 1/22/2018
1.18.0-beta0092 1,167 1/22/2018
1.18.0-beta0090 1,327 1/22/2018
1.18.0-beta0089 1,159 1/22/2018
1.18.0-beta0088 1,204 1/18/2018
1.18.0-beta0084 2,774 1/16/2018
1.18.0-beta0083 1,177 1/15/2018
1.18.0-beta0082 1,172 1/15/2018
1.18.0-beta0081 1,648 1/14/2018
1.18.0-beta0080 1,213 1/14/2018
1.18.0-beta0079 1,179 1/14/2018
1.18.0-beta0078 1,192 1/14/2018
1.18.0-beta0029 1,173 1/7/2018
1.18.0-beta0018 1,168 1/6/2018
1.18.0-beta0017 1,181 1/5/2018
1.18.0-beta0014 1,234 1/5/2018
1.18.0-beta0003 1,162 12/10/2017
1.17.1 4,198 12/17/2017
1.17.0 3,964 12/9/2017
1.17.0-rc0001 995 11/26/2017
1.17.0-beta0112 1,172 12/8/2017
1.17.0-beta0111 1,198 12/5/2017
1.17.0-beta0110 981 12/4/2017
1.17.0-beta0109 971 12/2/2017
1.17.0-beta0107 986 12/2/2017
1.17.0-beta0106 988 11/26/2017
1.17.0-beta0105 982 11/26/2017
1.17.0-beta0096 982 11/25/2017
1.17.0-beta0089 968 11/5/2017
1.17.0-beta0085 1,005 11/4/2017
1.17.0-beta0084 938 11/4/2017
1.17.0-beta0069 991 11/2/2017
1.17.0-beta0062 973 11/2/2017
1.17.0-beta0061 967 11/1/2017
1.17.0-beta0058 952 11/1/2017
1.17.0-beta0055 956 11/1/2017
1.17.0-beta0040 1,027 11/1/2017
1.17.0-beta0039 951 11/1/2017
1.17.0-beta0038 1,005 11/1/2017
1.17.0-beta0005 1,005 10/27/2017
1.17.0-beta0004 953 10/27/2017
1.17.0-beta0002 979 10/25/2017
1.17.0-beta0001 987 10/25/2017
1.16.0.2 2,757 10/26/2017
1.16.0-rc0001 997 10/15/2017
1.16.0-beta0099 993 10/25/2017
1.16.0-beta0096 994 10/25/2017
1.16.0-beta0089 975 10/25/2017
1.16.0-beta0086 969 10/25/2017
1.16.0-beta0085 992 10/15/2017
1.16.0-beta0081 989 10/15/2017
1.16.0-beta0076 1,000 10/13/2017
1.16.0-beta0074 985 10/12/2017
1.16.0-beta0067 971 10/12/2017
1.16.0-beta0064 991 10/10/2017
1.16.0-beta0059 996 10/10/2017
1.16.0-beta0055 980 10/9/2017
1.16.0-beta0049 989 10/8/2017
1.16.0-beta0048 978 10/8/2017
1.16.0-beta0044 986 10/8/2017
1.16.0-beta0040 1,223 9/8/2017
1.16.0-beta0035 986 9/8/2017
1.16.0-beta0032 986 9/8/2017
1.16.0-beta0026 1,011 9/8/2017
1.16.0-beta0022 961 9/2/2017
1.16.0-beta0021 978 9/2/2017
1.16.0-beta0020 1,002 9/2/2017
1.16.0-beta0018 999 9/2/2017
1.15.0.1 2,197 10/26/2017
1.14.0.7 7,464 3/18/2017