The BDD Testing Framework provides a set of tools for easily creating BDD / TDD style tests for your OutSystems Applications.
The main focus is testing the logic of your modules, by exercising the critical actions that support your app's use cases.
You can check the introductory article that covers the basics of how to use the framework, as well as other articles for using the REST API and creating data-driven tests.
You can also check this demo video where we show how to use the framework to create a test for a piece of logic of the eCommerce app.
Main highlights of the component:
In an effort to improve customer service, we provide you with the following list of some known limitations with the BDDFramework. This is not a complete list of all existing limitations but is intended to help guide the determination of BDDFramework’s suitability to serve a particular purpose.
The BDDFramework is not supported in Production environments, nor should it be published and consumed by other OutSystems Applications in such environments.
The BDDFramework is only supported in OutSystems 11 onward.
Server Actions being tested by a test that uses the BDDFramework need to be set to Public.
Testing client-side actions of Reactive Web applications or Mobile applications is not supported.
Testing Screen Actions and Preparation Actions of Traditional Web applications is not supported. Please check here how you can use the framework to test server-side actions of OutSystems applications.
Creating tests using a Reactive Web or Mobile module is not supported.
Tests built with the BDDFramework that include actions that perform an AbortTransaction explicitly or implicitly (for example: through an ExceptionHandler with AbortTransaction set to “Yes”) are not supported. This also includes tests that call actions in the application being tested which perform an AbortTransaction. The AbortTransaction operation impacts the internal status of the BDDFramework, making the test results unpredictable.
The BDDFramework does not support tests being run in parallel over the same OutSystems environment. Running tests in parallel will make the test results unpredictable.