| a/landingpage/index.html | b/landingpage/index.html | ||
|---|---|---|---|
| 1 | <!DOCTYPE html> |
1 | <!DOCTYPE html> |
| 2 | <html lang="en"> |
2 | <html lang="en"> |
| 3 | <head> |
3 | <head> |
| 4 | <meta charset="utf-8"> |
4 | <meta charset="utf-8"> |
| 5 | <meta name="Description" content="CfUnit free and open-source unit testing framework. Motivated by absence of 'good and free' IEC61131-3 automated unit tests frameworks/solutions. Written in Structured Text for CODESYS based PLC systems. Released under MIT-License"> |
5 | <meta name="Description" content="'CfUnit' is motivated by absence of 'good and free' open source IEC61131-3 automated unit-testing solutions. Developed in ST for CODESYS based PLC systems. MIT-Licensed"> |
| 6 | <meta name="keywords" content="MIT-License,CfUnit,free,MIT,open-source,open,source,automated,unit,test,tests,testing,framework,IEC61131-3,61131-3,61131,Structured Text,ST,CODESYS,CoDeSyS,PLC,POU,OOP,POU-oriented Unit Testing of IEC 61131-3 Control Software,IEC unit test,IEC unit-tests,Testing Procedure for IEC 61131-3 Control Software,Management of Unit Tests,Automated Software Testing"> |
6 | <meta name="keywords" content="MIT-License,CfUnit,free,MIT,open-source,open,source,automated,unit,test,tests,testing,framework,IEC61131-3,61131-3,61131,Structured Text,ST,CODESYS,CoDeSyS,PLC,POU,OOP,POU-oriented Unit Testing of IEC 61131-3 Control Software,IEC unit test,IEC unit-tests,Testing Procedure for IEC 61131-3 Control Software,Management of Unit Tests,Automated Software Testing"> |
| 7 | <link rel="shortcut icon" href="https://forge.codesys.com/_ew_resources/theme/ownforgetheme/images/favicon.ico" /> |
7 | <link rel="shortcut icon" href="https://forge.codesys.com/_ew_resources/theme/ownforgetheme/images/favicon.ico" /> |
| 8 | <title>CfUnit — An open source unit testing framework for CODESYS</title> |
8 | <title>CfUnit — An open source unit testing framework for CODESYS</title> |
| 9 | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
9 | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| 10 | <link href="css/bootstrap.min.css" rel="stylesheet"> |
10 | <link href="css/bootstrap.min.css" rel="stylesheet"> |
... |
... |
||
| 40 | </nav> <!-- /.navbar --> |
40 | </nav> <!-- /.navbar --> |
| 41 | 41 | ||
| 42 | <div id="top" class="jumbotron"> |
42 | <div id="top" class="jumbotron"> |
| 43 | <div class="container"> |
43 | <div class="container"> |
| 44 | <h1>CfUnit — CODESYS Forge Unit Testing framework</h1> |
44 | <h1>CfUnit — CODESYS Forge Unit Testing framework</h1> |
| 45 | <h2>In short 'CfUnit' is a free open-source unit testing framework, motivated by absence of 'good and free' IEC61131-3 automated unit-testing solutions. Written in Structured Text for CODESYS based PLC systems. Released under MIT-License</h2> |
45 | <h2>'CfUnit' is motivated by absence of 'good and free' open source IEC61131-3 automated unit-testing solutions. Developed in ST for CODESYS based PLC systems. MIT-Licensed</h2> |
| 46 | <p><a class="btn btn-primary btn-lg" href="#Download">Download <span class="glyphicon glyphicon-circle-arrow-right"></span></a></p> |
46 | <p><a class="btn btn-primary btn-lg" href="#Download">Download <span class="glyphicon glyphicon-circle-arrow-right"></span></a></p> |
| 47 | </div> <!-- /.container --> |
47 | </div> <!-- /.container --> |
| 48 | </div> <!-- /.jumbotron --> |
48 | </div> <!-- /.jumbotron --> |
| 49 | 49 | ||
| 50 | 50 | ||
... |
... |
||
| 61 | <div class="col-md-4 col-sm-6 benefit"> |
61 | <div class="col-md-4 col-sm-6 benefit"> |
| 62 | <div class="benefit-ball"> |
62 | <div class="benefit-ball"> |
| 63 | <span class="glyphicon glyphicon-ok"></span> |
63 | <span class="glyphicon glyphicon-ok"></span> |
| 64 | </div> |
64 | </div> |
| 65 | <h3>Powerful</h3> |
65 | <h3>Powerful</h3> |
| 66 | Higher productivity,<br>Fewer bugs,<br>Cleaner code,<br>Self-documenting</p> |
66 | Higher productivity,<br>Fewer bugs,<br>Cleaner code,<br>CI/CD integration *under development</p> |
| 67 | </div> <!-- /.benefit --> |
67 | </div> <!-- /.benefit --> |
| 68 | <div class="col-md-4 col-sm-6 benefit"> |
68 | <div class="col-md-4 col-sm-6 benefit"> |
| 69 | <div class="benefit-ball"> |
69 | <div class="benefit-ball"> |
| 70 | <span class="glyphicon glyphicon-heart"></span> |
70 | <span class="glyphicon glyphicon-heart"></span> |
| 71 | </div> |
71 | </div> |
| 72 | <h3>Free!</h3> |
72 | <h3>Free</h3> |
| 73 | <p>MIT-Licensed</p> |
73 | <p>MIT-Licensed</p> |
| 74 | </div> <!-- /.benefit --> |
74 | </div> <!-- /.benefit --> |
| 75 | </div> <!-- /.row --> |
75 | </div> <!-- /.row --> |
| 76 | </div> <!-- /.container --> |
76 | </div> <!-- /.container --> |
| 77 | 77 | ||
... |
... |
||
| 162 | <p><ul class="col-md-4 col-sm-6"> |
162 | <p><ul class="col-md-4 col-sm-6"> |
| 163 | <strong>Follow these simple steps</strong> |
163 | <strong>Follow these simple steps</strong> |
| 164 | <ul> |
164 | <ul> |
| 165 | <li>Extend <code>CfUnit.FB_TestSuite</code>,</li> |
165 | <li>Extend <code>CfUnit.FB_TestSuite</code>,</li> |
| 166 | <li>Add the attribute-pragma <code>{attribute ‘call_after_init’}</code>,</li> |
166 | <li>Add the attribute-pragma <code>{attribute ‘call_after_init’}</code>,</li> |
| 167 | <li>Define the inputs, define the expected outputs (result),</li> |
167 | <li>Define the inputs and define the expected output (result),</li> |
| 168 | <li>Call the CfUnit-assert methods to compare the expected output to the actual output,</li> |
168 | <li>Call the CfUnit-assert methods to compare the expected output to the actual output,</li> |
| 169 | <li>Close the test with <code>TEST_FINISHED()</code> when finished.</li> |
169 | <li>Close the test with <code>TEST_FINISHED()</code> when finished.</li> |
| 170 | </ul> |
170 | </ul> |
| 171 | </ul> |
171 | </ul> |
| 172 | </p> |
172 | </p> |
... |
... |
||
| 285 | </html> |
285 | </html> |