NBi is a testing framework (add-on to NUnit) for Business Intelligence and Data Access. 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# or Java code to specify your tests! Either, you don't need Visual Studio or Eclipse to compile y…
C# Other
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.packages Change the meta of the framework for nuget: Potentially related to #395 Jul 27, 2018
Documentation Fix issue #236 about link to documentation Feb 7, 2017
Licenses Rename folder license into licenses to avoid issue with LICENSE file Oct 18, 2016
NBi.Core.SqlServer Add all Microsoft.SqlServer dlls into the output folder Jul 30, 2018
NBi.Core Change package for adomd connections to Microsoft.analysisServices.Ad… Jul 19, 2018
NBi.Extensibility Add some classes to extensibility Apr 27, 2018
NBi.Framework Avoid second header if fully empty May 29, 2018
NBi.NUnit.Runtime Add some classes to extensibility Apr 27, 2018
NBi.NUnit Merge branch 'feature/Bug_for_multiple_expressions_(#374)' into develop May 29, 2018
NBi.Services Also move the action for copy Jun 29, 2018
NBi.Testing Fix issue in the ordering of serialization for aliases and expression… Aug 12, 2018
NBi.UI.Genbi Refactoring and creation of IColumnIdentifier May 22, 2018
NBi.Xml Fixed issue with readonly attributes in all-rows Aug 12, 2018
NBi.Xsd.Preprocess First implementation Jan 13, 2018
NBi.genbiL Also move the action for copy Jun 29, 2018
.gitignore Add folder .vs to gitignore Aug 22, 2017
AssemblyInfo.cs Work on assemblyInfo patcher Nov 1, 2017
AssemblyInfoPatcher.ps1 New version of AssemblyInfoPatcher.ps1 Nov 1, 2017
GitVersion.yml Playing agian with GitVersion Sep 2, 2017
LICENSE Update LICENSE Oct 7, 2016
NBi-logo-white.jpg Improved/fixed tests for tolerance - negative values and bounds May 30, 2015
NBi.sln Extraction of the interface for execution Apr 26, 2018
Readme.md Update Readme.md Feb 24, 2018
clone-extensions.cmd Add a CMD to clone the extensions Mar 18, 2017
contributing.md Update contributing.md Apr 15, 2016

Readme.md

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