Testing CDL code

To test CDL Code we want to maintain and extend the structure we used to map the CDL considerations to the implemented code. We can show this diagrammatically:

The ContractUtils has its own extensive testing, which can be seen in the cdl-example ContractUtilsTests.kt

It is sensible to run some FlowTests early in the Smart Contract development. There are some structures such as MutableLists which do not serialise across Corda Flows; you want to spot these early, not after you have spent weeks working on your smart contract implementation.

The main part of testing concerns testing the AgreementContract. The approach taken in the cdl-example is to define a ‘happy path’ set of tests which represent a set of transactions where everything verifies, then for each type of constraint exhaustively test the conditions which should cause that constraint to fail.

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.