NBi.Framework
1.16.0.2
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
<PackageReference Include="NBi.Framework" Version="1.16.0.2" />
paket add NBi.Framework --version 1.16.0.2
#r "nuget: NBi.Framework, 1.16.0.2"
// 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
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.
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
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
Product | Versions 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. |
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 | 151 | 8/10/2023 |
1.24.0 | 238 | 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 | 103 | 8/9/2023 |
1.24.0-beta0020 | 163 | 1/3/2023 |
1.24.0-beta0019 | 141 | 1/3/2023 |
1.24.0-beta0018 | 137 | 1/3/2023 |
1.24.0-beta0015 | 162 | 1/3/2023 |
1.24.0-beta0009 | 146 | 1/1/2023 |
1.24.0-beta0007 | 151 | 1/1/2023 |
1.24.0-beta0006 | 134 | 1/1/2023 |
1.24.0-beta0002 | 179 | 6/12/2022 |
1.24.0-beta0001 | 202 | 12/18/2021 |
1.23.0 | 531 | 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 | 275 | 9/11/2021 |
1.23.0-beta0177 | 279 | 9/11/2021 |
1.23.0-beta0172 | 293 | 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 | 264 | 1/13/2021 |
1.23.0-beta0072 | 317 | 1/6/2021 |
1.23.0-beta0068 | 270 | 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 | 387 | 12/13/2020 |
1.23.0-beta0048 | 392 | 11/7/2020 |
1.23.0-beta0026 | 459 | 6/20/2020 |
1.23.0-beta0021 | 490 | 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,711 | 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 | 583 | 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 | 396 | 11/17/2019 |
1.22.0-beta0033 | 428 | 11/14/2019 |
1.22.0-beta0029 | 452 | 11/11/2019 |
1.22.0-beta0027 | 417 | 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 | 434 | 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 | 415 | 10/19/2019 |
1.22.0-beta0001 | 429 | 10/13/2019 |
1.21.0 | 17,596 | 11/1/2019 |
1.21.0-rc0002 | 443 | 10/9/2019 |
1.21.0-rc0001 | 444 | 9/14/2019 |
1.21.0-beta0345 | 583 | 9/14/2019 |
1.21.0-beta0344 | 456 | 9/14/2019 |
1.21.0-beta0342 | 424 | 9/12/2019 |
1.21.0-beta0341 | 428 | 9/10/2019 |
1.21.0-beta0337 | 423 | 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 | 426 | 9/7/2019 |
1.21.0-beta0326 | 450 | 9/2/2019 |
1.21.0-beta0313 | 449 | 8/30/2019 |
1.21.0-beta0312 | 440 | 8/30/2019 |
1.21.0-beta0305 | 439 | 8/30/2019 |
1.21.0-beta0297 | 426 | 8/28/2019 |
1.21.0-beta0287 | 416 | 8/26/2019 |
1.21.0-beta0286 | 443 | 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 | 441 | 8/21/2019 |
1.21.0-beta0271 | 442 | 8/18/2019 |
1.21.0-beta0270 | 436 | 8/18/2019 |
1.21.0-beta0268 | 472 | 8/10/2019 |
1.21.0-beta0265 | 434 | 8/8/2019 |
1.21.0-beta0264 | 451 | 7/20/2019 |
1.21.0-beta0244 | 451 | 7/2/2019 |
1.21.0-beta0241 | 457 | 7/1/2019 |
1.21.0-beta0238 | 413 | 6/25/2019 |
1.21.0-beta0237 | 402 | 6/23/2019 |
1.21.0-beta0234 | 421 | 6/23/2019 |
1.21.0-beta0233 | 434 | 6/23/2019 |
1.21.0-beta0228 | 496 | 6/6/2019 |
1.21.0-beta0222 | 474 | 6/3/2019 |
1.21.0-beta0221 | 412 | 10/8/2019 |
1.21.0-beta0220 | 477 | 6/1/2019 |
1.21.0-beta0219 | 474 | 6/1/2019 |
1.21.0-beta0218 | 471 | 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 | 401 | 10/7/2019 |
1.21.0-beta0204 | 406 | 10/6/2019 |
1.21.0-beta0193 | 445 | 10/3/2019 |
1.21.0-beta0189 | 398 | 10/2/2019 |
1.21.0-beta0188 | 413 | 9/27/2019 |
1.21.0-beta0187 | 413 | 9/26/2019 |
1.21.0-beta0183 | 405 | 9/25/2019 |
1.21.0-beta0178 | 441 | 9/18/2019 |
1.21.0-beta0048 | 474 | 5/30/2019 |
1.21.0-beta0047 | 467 | 5/30/2019 |
1.21.0-beta0033 | 432 | 5/14/2019 |
1.21.0-beta0029 | 495 | 5/6/2019 |
1.21.0-beta0028 | 449 | 5/5/2019 |
1.21.0-beta0022 | 479 | 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 | 471 | 4/18/2019 |
1.20.0 | 2,390 | 5/30/2019 |
1.20.0-rc0001 | 472 | 4/13/2019 |
1.20.0-beta0166 | 436 | 4/13/2019 |
1.20.0-beta0147 | 451 | 3/26/2019 |
1.20.0-beta0146 | 315 | 3/25/2019 |
1.20.0-beta0143 | 306 | 3/25/2019 |
1.20.0-beta0142 | 300 | 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 | 310 | 2/27/2019 |
1.20.0-beta0118 | 364 | 2/13/2019 |
1.20.0-beta0112 | 369 | 2/6/2019 |
1.20.0-beta0107 | 360 | 2/4/2019 |
1.20.0-beta0106 | 364 | 1/29/2019 |
1.20.0-beta0103 | 357 | 1/29/2019 |
1.20.0-beta0102 | 359 | 1/29/2019 |
1.20.0-beta0096 | 362 | 1/27/2019 |
1.20.0-beta0094 | 371 | 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 | 570 | 1/6/2019 |
1.20.0-beta0053 | 578 | 1/2/2019 |
1.20.0-beta0052 | 579 | 12/31/2018 |
1.20.0-beta0051 | 556 | 12/31/2018 |
1.20.0-beta0050 | 574 | 12/30/2018 |
1.20.0-beta0049 | 541 | 12/30/2018 |
1.20.0-beta0048 | 568 | 12/30/2018 |
1.20.0-beta0027 | 540 | 12/30/2018 |
1.20.0-beta0005 | 580 | 12/4/2018 |
1.19.0.1 | 3,042 | 12/30/2018 |
1.19.0-rc0001 | 593 | 11/13/2018 |
1.19.0-beta0229 | 610 | 11/13/2018 |
1.19.0-beta0226 | 606 | 11/13/2018 |
1.19.0-beta0225 | 546 | 11/10/2018 |
1.19.0-beta0103 | 604 | 11/1/2018 |
1.19.0-beta0102 | 630 | 10/31/2018 |
1.19.0-beta0098 | 616 | 10/31/2018 |
1.19.0-beta0097 | 598 | 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 | 575 | 10/25/2018 |
1.19.0-beta0081 | 594 | 10/23/2018 |
1.19.0-beta0079 | 571 | 10/23/2018 |
1.19.0-beta0075 | 621 | 10/9/2018 |
1.19.0-beta0071 | 608 | 10/2/2018 |
1.19.0-beta0070 | 1,216 | 9/19/2018 |
1.19.0-beta0069 | 618 | 9/19/2018 |
1.19.0-beta0068 | 628 | 9/19/2018 |
1.19.0-beta0062 | 697 | 9/4/2018 |
1.19.0-beta0061 | 634 | 9/4/2018 |
1.19.0-beta0056 | 632 | 8/27/2018 |
1.19.0-beta0048 | 644 | 8/24/2018 |
1.19.0-beta0047 | 667 | 8/12/2018 |
1.19.0-beta0045 | 715 | 7/30/2018 |
1.19.0-beta0044 | 688 | 7/27/2018 |
1.19.0-beta0043 | 678 | 7/27/2018 |
1.19.0-beta0042 | 693 | 7/23/2018 |
1.19.0-beta0040 | 661 | 7/23/2018 |
1.19.0-beta0037 | 682 | 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,772 | 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 | 802 | 1/15/2018 |
1.18.0-beta0127 | 877 | 4/27/2018 |
1.18.0-beta0126 | 788 | 4/26/2018 |
1.18.0-beta0125 | 814 | 4/26/2018 |
1.18.0-beta0124 | 829 | 4/26/2018 |
1.18.0-beta0116 | 900 | 4/13/2018 |
1.18.0-beta0115 | 910 | 4/13/2018 |
1.18.0-beta0114 | 949 | 4/7/2018 |
1.18.0-beta0111 | 842 | 3/6/2018 |
1.18.0-beta0110 | 781 | 2/24/2018 |
1.18.0-beta0109 | 836 | 2/6/2018 |
1.18.0-beta0103 | 770 | 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 | 823 | 1/18/2018 |
1.18.0-beta0084 | 2,394 | 1/16/2018 |
1.18.0-beta0083 | 796 | 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 | 789 | 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,591 | 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 | 733 | 12/4/2017 |
1.17.0-beta0109 | 705 | 12/2/2017 |
1.17.0-beta0107 | 742 | 12/2/2017 |
1.17.0-beta0106 | 730 | 11/26/2017 |
1.17.0-beta0105 | 739 | 11/26/2017 |
1.17.0-beta0096 | 737 | 11/25/2017 |
1.17.0-beta0089 | 710 | 11/5/2017 |
1.17.0-beta0085 | 744 | 11/4/2017 |
1.17.0-beta0084 | 697 | 11/4/2017 |
1.17.0-beta0069 | 748 | 11/2/2017 |
1.17.0-beta0062 | 714 | 11/2/2017 |
1.17.0-beta0061 | 709 | 11/1/2017 |
1.17.0-beta0058 | 710 | 11/1/2017 |
1.17.0-beta0055 | 698 | 11/1/2017 |
1.17.0-beta0040 | 765 | 11/1/2017 |
1.17.0-beta0039 | 711 | 11/1/2017 |
1.17.0-beta0038 | 764 | 11/1/2017 |
1.17.0-beta0005 | 759 | 10/27/2017 |
1.17.0-beta0004 | 712 | 10/27/2017 |
1.17.0-beta0002 | 716 | 10/25/2017 |
1.17.0-beta0001 | 738 | 10/25/2017 |
1.16.0.2 | 1,269 | 10/26/2017 |
1.16.0-rc0001 | 743 | 10/15/2017 |
1.16.0-beta0099 | 725 | 10/25/2017 |
1.16.0-beta0096 | 744 | 10/25/2017 |
1.16.0-beta0089 | 712 | 10/25/2017 |
1.16.0-beta0086 | 714 | 10/25/2017 |
1.16.0-beta0085 | 751 | 10/15/2017 |
1.16.0-beta0081 | 746 | 10/15/2017 |
1.16.0-beta0076 | 756 | 10/13/2017 |
1.16.0-beta0074 | 732 | 10/12/2017 |
1.16.0-beta0067 | 721 | 10/12/2017 |
1.16.0-beta0064 | 728 | 10/10/2017 |
1.16.0-beta0059 | 751 | 10/10/2017 |
1.16.0-beta0055 | 720 | 10/9/2017 |
1.16.0-beta0049 | 744 | 10/8/2017 |
1.16.0-beta0048 | 723 | 10/8/2017 |
1.16.0-beta0044 | 730 | 10/8/2017 |
1.16.0-beta0040 | 857 | 9/8/2017 |
1.16.0-beta0035 | 736 | 9/8/2017 |
1.16.0-beta0032 | 744 | 9/8/2017 |
1.16.0-beta0026 | 757 | 9/8/2017 |
1.16.0-beta0022 | 720 | 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 | 966 | 10/26/2017 |
1.14.0.7 | 5,981 | 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/)