The BDDFramework for server-side testing provides tools to easily create BDD / TDD tests for your OutSystems applications.
The main focus is testing logic in your modules by exercising the critical actions that support your app's use cases.
See this article for basics on using the framework and the REST API, as well as creating data-driven tests.
If you want to test client-side actions, use the BDDFramework client-side tool.
Main highlights of the component:
Create test scenarios and steps that conform to Behavior Driven Development principles.
Enable test-driven development, in which you define scenarios and steps early in the app design process and write test code when the features are implemented.
Easily add scenarios and steps by dragging and dropping web blocks (Scenario + Given / When / Then clauses).
Enhance test maintenance, as test outputs are identical to the Service Studio design, making it easy to pinpoint and troubleshoot step failures.
Supports multiple tests in the same page and evaluating final results (that is, the number of successful / failed tests).
Includes dedicated setup/teardown steps for complex test scenarios.
Includes a REST API so you can easily integrate with your own tools.
Allows for fast test setup through application and screen templates.
To improve customer service, we provide the main known limitations of the BDDFramework. This is not a complete list of limitations, but it intends to provide information to help you determine whether BDDFramework is right for your environment.
BDDFramework is not supported in production environments, nor should it be published or consumed by other OutSystems applications in production environments.
Requires OutSystems 11 or later.
Server Actions must be public to be tested using BDDFramework.
Testing client-side actions, which you can do with the BDDFramework client-side tool.
Testing Screen Actions and Preparation Actions of Traditional Web applications is not supported. See here for information about using the framework to test server-side actions.
Bug Fixes:
The usage of ExecuteTag query string parameter was not working correctly
On API v2:
Not executing tests as expected, when providing tags to execute on the ExecuteTags header attribute