summaryrefslogtreecommitdiffstats
path: root/docs/Reference/2_TestFrameworkFunctions.md
blob: c952e3f9beea15535fb9c5063ea8291b2a062836 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Test Framework functions

* **_AFT.addEventToMonitor(eventName, callback)**

    Add a binding event in the test framework to be able to assert its reception
    . You'll need to add as many events as you expect to receive. You could also
    specify a callback to test in more details the event received, like the attached
    data. The callback will happens after the assertion that it has been received so
    you can work on data that the event eventually carry.

* **_AFT.setJunitFile(filePath)**

    Set the *JUnit* file path. When *JUnit* is set as the output type for the
    test framework.

* **_AFT.setBeforeEach(function)**

    Set the **_AFT.beforeEach()** function which is used to run the specified
    *function* before each tests.

* **_AFT.setAfterEach(function)**

    Set the **_AFT.afterEach()** function which is used to run the specified
    *function* after each tests.

* **_AFT.setBeforeAll(function)**

    Set the **_AFT.beforeAll()** function which is used to run the specified
    *function* before all tests. If the given function is successful it has
    to return 0 else it will return an error.

* **_AFT.setAfterAll(function)**

    Set the **_AFT.afterAll()** function which is used to run the specified
    *function* after all tests. If the given function is successful it has
    to return 0 else it will return an error.

* **_AFT.describe(testName, testFunction, setUp, tearDown)**

    Describe a manually written test. *testFunction* will be given the name
    provided by *testName* and will be tested.

    *setUp* and *tearDown* are functions that can be added to your context,
    it works just like  **_AFT.beforeEach()** and **_AFT.afterEach()**,
    *setUp* will be ran before your *testFunction* and **_AFT.beforeEach()**
    (if set) functions, *tearDown* will be ran after your *testFunction* and
    **_AFT.afterEach()**  (if set) functions.

* **_AFT.setBefore(testName, beforeTestFunction)**
    Set a function to be ran at the beginning of the given *testName* function.

    ```lua
    _AFT.testVerbStatusSuccess('testPingSuccess','hello', 'ping', {})
    _AFT.setBefore("testPingSuccess",function() print("~~~~~ Begin testPingSuccess ~~~~~") end)
    _AFT.setAfter("testPingSuccess",function() print("~~~~~ End testPingSuccess ~~~~~") end)
    ```

* **_AFT.setBefore(testName, beforeTestFunction)**
    Set a function to be ran at the end of the given *testName* function.