-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtutorial-02-simple-examples.html
executable file
·131 lines (87 loc) · 6.3 KB
/
tutorial-02-simple-examples.html
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Tutorial: Simple Examples</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Tutorial: Simple Examples</h1>
<section>
<header>
<ul>
<li><a href="tutorial-simple-example-a.html">Simple 100% synchronous test example</a></li>
<li><a href="tutorial-simple-example-b.html">Another simple 100% synchronous test example with beforeEach/afterEach</a></li>
<li><a href="tutorial-simple-example-es6.html">Another simple 100% synchronous test example with beforeEach/afterEach</a></li>
<li><a href="tutorial-simple-parallel-example.html">Simple example</a></li>
</ul>
<h2>Simple Examples</h2>
</header>
<article>
<p>Here is the simple examples page.</p>
<pre class="prettyprint source"><code>
const suman = require('suman');
const Test = suman.init(module, {});
Test.describe(__filename, function (assert) {
this.before(t => {
console.log('before');
});
this.it(t => {
assert(true);
});
this.after(t => {
console.log('after');
});
});</code></pre><p>=> run the file with <code>$ node your/test/file.js</code> and notice the logging output.</p>
<p>=> next, try running the with <code>$ suman your/test/file.js</code>, the output should be pretty much the same as above.</p>
<p>=> now, try running the above with <code>$ suman --runner your/test/file.js</code>, now we are running the test in a child_process. Normally
we would only use the runner when running multiple test files, but we can tell suman to use the runner even when executing one test file
with the "--runner" flag.</p>
<p>Notice that "assert" is passed into the top-level describe block callback => this of course is the core assert module, which gets injected into
our test suite by the Suman framework. Core module names are reserved and require no configuration.</p>
<p>Now let's try:</p>
<pre class="prettyprint source"><code>const suman = require('suman');
const Test = suman.init(module, {});
Test.describe(__filename, function (assert, child_process) {
this.before(t => {
console.log('before');
});
this.it(t => {
assert(true);
});
this.it(t => {
assert(true);
});
this.describe('nested describe block', function () {
this.beforeEach(t => {
console.log('beforeEach hook should only run once');
});
this.it(t => {
assert(true);
});
});
this.after(t => {
console.log('after');
});
});</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Tutorials</h3><ul><li><a href="tutorial-00-about.html">About Suman</a></li><li><a href="tutorial-01-getting-started.html">Getting Started with Suman</a></li><li><a href="tutorial-02-simple-examples.html">Simple Examples</a></li><li><a href="tutorial-03-high-level-overview.html">Higher Level Overview</a></li><li><a href="tutorial-04-command-line-options.html">Command line options</a></li><li><a href="tutorial-05-advanced-use.html">Advanced Use</a></li><li><a href="tutorial-06-suman-config-file.html">06-suman-config-file</a></li><li><a href="tutorial-07-suman-patterns-and-recipes.html">Suman Patterns and Recipes</a></li><li><a href="tutorial-08-suman-anti-patterns.html">Suman Anti-Patterns</a></li><li><a href="tutorial-09-suman-reporters.html">Suman reporters and creating custom reporters</a></li><li><a href="tutorial-10-dependency-injection.html">10-dependency-injection</a></li><li><a href="tutorial-11-advanced-installation.html">Advanced installation of Suman</a></li><li><a href="tutorial-12-using-suman-with-babel.html">Using Suman with Babel</a></li><li><a href="tutorial-13-test-dir-organization.html">How to organize your test directory</a></li><li><a href="tutorial-14-debugging-suman.html">How to debug Suman tests</a></li><li><a href="tutorial-15-testing-child-processes-with-suman.html">Testing and debugging processes that spawn child processes</a></li><li><a href="tutorial-16-using-spies-with-suman.html">Using test spies with Suman</a></li><li><a href="tutorial-17-suman-server-and-web-reporter.html">About Suman server and built-in web reporter</a></li><li><a href="tutorial-18-tips-and-tricks.html">Tips and tricks</a></li><li><a href="tutorial-19-converting-from-mocha.html">Converting from Mocha to Suman</a></li><li><a href="tutorial-21-running-suman-against-shell-scripts.html">21-running-suman-against-shell-scripts</a></li><li><a href="tutorial-22-case-studies.html">22-case-studies</a></li><li><a href="tutorial-22-programmatic-usage-and-macros.html">22-programmatic-usage-and-macros</a></li><li><a href="tutorial-27-suman-best-practices.html">Best practices with Suman</a></li><li><a href="tutorial-30-anatomy-of-suman-suite.html">Anatomy of Suman Test Suites</a></li><li><a href="tutorial-31-workflows-with-suman.html">Workflows with Suman => Watchers and transpilation</a></li><li><a href="tutorial-40-integrating-with-ci-cd.html">Integrating with CI/CD</a></li><li><a href="tutorial-41-suman-exit-codes.html">List of Suman exit codes</a></li><li><a href="tutorial-42-hidden-secret-features.html">Some secret / hidden features of Suman</a></li><li><a href="tutorial-50-suman-parallelism.html">Complete explanation of Suman parallelism</a></li><li><a href="tutorial-70-usage-with-code-coverage-tools.html">Usage with code coverage tools (namely Istanbul)</a></li><li><a href="tutorial-90-roadmap.html">Suman roadmap and upcoming efforts</a></li><li><a href="tutorial-99-faq.html">FAQ</a></li><li><a href="tutorial-advanced-parallelization-2.html">advanced-parallelization-2</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed Feb 08 2017 22:39:23 GMT-0800 (PST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>