Home

aliazzz hermsen i-campbell
There is a newer version of this page. You can find it here.


Project Members:



co♻e: A unittest framework for CODESYS

Features | Tour | Download | Getting Started | Resources | FAQ | Acknowledgements


Motivated by absence of a 'good and free' open source IEC61131-3 unit-testing solution. Developed in Structured-Text for any CODESYS based system, MIT-licensed.
Forked with kind permission by Jakob Sagatowski from TcUnit for TwinCAT3.

Features

Easy Powerful Free
1. Download Increase productivity Open-Source
2. Install Stimulate re-usability MIT-Licensed
3. Reference Reduce bugs Well documented
4. Ready! Cleaner code Large user community
Easy integration in every popular CI/CD platform xUnit reporting file
Part of CForge CI/CD backend


Though the frameworks share common basics, co♻e brings significant differences.
Primary reason is that TwinCAT ADS is bespoke to Beckhoff and not part of the default CODESYS ecosystem.

Notable differences

TcUnit co♻e
Buffered logging to correct log message order By design
Implements bespoke TcUnit-Runner for CI/CD By design (via CODESYS IDE CLI command line)
TcUnitRunner.exe generates xUnit reporting file By design (co♻e generates xUnit reporting file *)
ADS Transport layer Not supported


* Both TcUnit and co♻e generate this file, but in co♻e it is mandatorial generated by the PLC.
TcUnit generates the report via the external runner using the ADS transmitted test results.

Tour

1/2 Easy Installation: package installer

2/2 Easy Integration: E.g Jenkins or another platform of choice

Download

The package contains all components in a convenient single installer. By downloading and using our software you abide by the MIT License

Download v1.1.0.0 Package


Or download via these links or browse via the repo and download yourself
repo v1.1.0.0
CfUnit .package
CfUnit .library
Verifier .project
Simple Example .project
Timed Test .project
Timed Test2 .project

Previous version(s)
repo

Getting started

A detailed step by step tutorial for the simple co♻e example project can be found here.

Resources

Userlist
If you have an interesting project in which you use the framework we can mention you.
A shortlist with users of the co♻e framework can be found here.

Wiki
The online API reference wiki can be found here.

Tutorial
A tutorial can be found here.

Code
The code repository can be found here.

Bugs
Any found bugs can be reported here.

FAQ

Any questions? You can browse them here.
Posted questions will be moderated into the FAQ for future reference.

Acknowledgements

We are passionate software developers who develop & maintain co♻e in our spare time.
CODESYS fully supports us in our efforts by providing a free and open source platform for everybody to use.

Forked with kind permission by Jakob Sagatowski from TcUnit for TwinCAT3.

Assistance provided by @aliazzz, @ingo and @i-campbell greatly appreciated.
Without their assistance, porting alone would have taken me several months.
Kudos for helping me out with various tickets and providing invaluable feedback!



Project Members: