test-tube.Test
The base test class. This class can function both as a test-suite and as a test instance. Additionally, this class implements “_main” and will act as the entry point to a test-suite if constructed with atom.o.main
. Note, test-suites can be nested.
Instance Properties
-
_main |
Object
|
Required |
|
Description |
The entry point for the “run” command” |
-
cmdargs |
Object.<string, Object>
(read-only)
|
Description |
The cmdargs definition describing the command line interface when a test-suite is executed. See the atom documentation for a description of the format and options available. |
-
description |
string
|
Required |
|
Description |
A short description of the test or test-suite used for display purposes |
-
errorExpected |
boolean | Error
|
Default |
false |
Description |
Indicate that an error is expected to be thrown in this test. This can be used as shorthand alternative to using assert.throws . Note, if this is not a boolean, assert.throws will be used to validate the error thrown by the test. |
-
name |
string
|
Required |
|
Description |
Name of the test. This is used for display and filtering purposes. |
-
parent |
(read-only)
|
Description |
A pointer to the “parent” test-suite. This is useful when a test needs to access a fixture created by the parent test-suite. It will be initialized by test-tube when the test tree is initialized. |
-
selfBeforeChildren |
boolean
|
Default |
false |
Description |
A flag to indicate that doTest should be run before executing any tests in tests when an instance of Test acts as both a test and a test-suite (top-down vs. bottom-up execution). |
-
tests |
test-tube.Test[]
|
Required |
|
Description |
A list of tests to execute as part of a test-suite. Note, these tests can themselves be test-suites. |
Methods
-
_buildTestResult |
|
Return type |
TestResult |
Description |
A factory function for test result objects |
-
_checkName |
|
Arguments |
|
Returns |
true if the test name is filtered, false otherwise |
Return type |
boolean |
Description |
Checks if the current test is filtered by name (think basename ) |
-
_checkPath |
|
Arguments |
- context (test-tube.TestContext) – A context object
- useDirname (boolean) – Use
path.dirname to grab the parent of the path retrieved from context
|
Returns |
true if the test path is filtered, false otherwise |
Return type |
boolean |
Description |
Checks if the current path is filtered where “path” is built using the test names as they appear in the depth-first traversal up to the current test being executed (think dirname ) |
-
_errorExpected |
|
Arguments |
- result (Object) – A test result object (see
_buildTestResult )
- error (Error) – An error object as thrown by the test
|
Returns |
An updated test result object |
Return type |
Object |
Description |
Updates test result if an error was expected and encountered |
-
_generateReportHelper |
|
Arguments |
- result (TestResult) – The result object for this test
- level (number) – The depth of this test in the overall test tree
|
Return type |
undefined |
Description |
Recursively enerates and outputs the report for a test and sub-tests |
-
_generateReportSummary |
|
Arguments |
|
Return type |
undefined |
Description |
The result object for the test-suite |
-
_init |
|
Return type |
undefined |
Description |
Initialize the test-suite |
-
_initContext |
|
Arguments |
|
Throws |
TypeError Thrown if testContextClass is not TestContext or a subclass thereof |
Returns |
An instance of TestContext |
Return type |
test-tube.TestContext |
Description |
Initializes the TestContext object that will be passed down to every test in the tree |
-
_initTest |
|
Arguments |
|
Return type |
test-tube.Test |
Description |
Initialize a single test in the test-suite |
-
_initTests |
|
Return type |
undefined |
Description |
Initializes all tests in tests |
-
_log |
|
Arguments |
- msg (string) – A message to be logged
- level (number) – The number of spaces to indent the message
|
Return type |
undefined |
Description |
Logs a message to stdout , indenting each line as appropriate |
-
_postrun |
|
Arguments |
|
Return type |
undefined |
Description |
Internal hook that can be extended to perform some teardown after the run method is called |
-
_prerun |
|
Arguments |
|
Return type |
undefined |
Description |
Internal hook that can be extended to perform some setup before the run method is called |
-
_runSelf |
|
Arguments |
|
Return type |
SelfTestResult |
Description |
Runs doTest and generates a result |
-
generateReport |
|
Arguments |
|
Return type |
undefined |
Description |
The top-level test result object |
-
run |
|
Arguments |
- context (test-tube.TestContext) – A context object
- done (function) – Errback to call when executing asynchronously
|
Return type |
TestResult |
Description |
run description |
-
setup |
|
Arguments |
- context (test-tube.TestContext) – A context object that can be used to pass data between tests or their methods.
- done (function) – Errback to call when executing asynchronously. Note, when implementing a test, if this is not included in the parameter list, the test will be called synchronously and you will not be responsible for calling the errback.
|
Return type |
undefined |
Description |
Setup any fixtures required for doTest or any test in tests |
-
teardown |
|
Arguments |
- context (test-tube.TestContext) – A context object that can be used to pass data between tests or their methods.
- done (function) – Errback to call when executing asynchronously. Note, when implementing a test, if this is not included in the parameter list, the test will be called synchronously and you will not be responsible for calling the errback.
|
Returns |
undefined |
Return type |
undefined |
Description |
Teardown (cleanup) any fixtures that may have been created in setup |
-
toJSON |
|
Return type |
Object |
Description |
Generates a simplified Object representing the test instance suitable for serializing to JSON |
Typedef: SelfTestResult
Properties
-
passed |
boolean
|
Required |
|
Description |
A flag indicating the status of a test |
-
skipped |
boolean
|
Required |
|
Description |
A flag indicating whether a test was skipped |
-
skippedTag |
string
|
Required |
|
Description |
A tag used to augment the output line for a skipped test (defaults to “SKIPPED”) |
-
filtered |
boolean
|
Required |
|
Description |
A flag indicating whether a test was filtered |
-
error |
Error
|
Required |
|
Description |
An error thrown during test execution. Note, this can happen in setup , doTest , or teardown |
-
time |
number
|
Required |
|
Description |
The execution time of a test (and it’s sub-tests) in milliseconds |
Typedef: TestResult
Properties
-
name |
string
|
Required |
|
Description |
A test name |
-
description |
string
|
Required |
|
Description |
A test description |
-
passed |
boolean
|
Required |
|
Description |
A flag indicating the status of a test |
-
skipped |
boolean
|
Required |
|
Description |
A flag indicating whether a test was skipped |
-
skippedTag |
string
|
Required |
|
Description |
A tag used to augment the output line for a skipped test (defaults to “SKIPPED”) |
-
filtered |
boolean
|
Required |
|
Description |
A flag indicating whether a test was filtered |
-
report |
boolean
|
Required |
|
Description |
A flag indicating whether a test should be included in the final test-suite report |
-
error |
Error
|
Required |
|
Description |
An error thrown during test execution. Note, this can happen in setup , doTest , or teardown |
-
self |
|
Required |
|
Description |
An intermediate test “result” object representing the result of this test’s doTest method |
-
time |
number
|
Required |
|
Description |
The execution time of a test (and it’s sub-tests) in milliseconds |
-
tests |
|
Required |
|
Description |
The test result objects for all sub-tests |