|
2 | 2 |
|
3 | 3 | var path = require('path');
|
4 | 4 | var assert = require('assert');
|
5 |
| -var run = require('./helpers').runMochaJSON; |
6 |
| -var directInvoke = require('./helpers').invokeMocha; |
| 5 | +var helpers = require('./helpers'); |
| 6 | +var run = helpers.runMochaJSON; |
| 7 | +var directInvoke = helpers.invokeMocha; |
| 8 | +var resolvePath = helpers.resolveFixturePath; |
7 | 9 | var args = [];
|
8 | 10 |
|
9 | 11 | describe('options', function () {
|
@@ -91,6 +93,53 @@ describe('options', function () {
|
91 | 93 | });
|
92 | 94 | });
|
93 | 95 |
|
| 96 | + describe('--file', function () { |
| 97 | + it('should run tests passed via file first', function (done) { |
| 98 | + args = ['--file', resolvePath('options/file-alpha.fixture.js')]; |
| 99 | + |
| 100 | + run('options/file-beta.fixture.js', args, function (err, res) { |
| 101 | + if (err) { |
| 102 | + done(err); |
| 103 | + return; |
| 104 | + } |
| 105 | + assert.equal(res.stats.pending, 0); |
| 106 | + assert.equal(res.stats.passes, 2); |
| 107 | + assert.equal(res.stats.failures, 0); |
| 108 | + |
| 109 | + assert.equal(res.passes[0].fullTitle, |
| 110 | + 'alpha should be executed first'); |
| 111 | + assert.equal(res.code, 0); |
| 112 | + done(); |
| 113 | + }); |
| 114 | + }); |
| 115 | + |
| 116 | + it('should run multiple tests passed via file first', function (done) { |
| 117 | + args = [ |
| 118 | + '--file', resolvePath('options/file-alpha.fixture.js'), |
| 119 | + '--file', resolvePath('options/file-beta.fixture.js') |
| 120 | + ]; |
| 121 | + |
| 122 | + run('options/file-theta.fixture.js', args, function (err, res) { |
| 123 | + if (err) { |
| 124 | + done(err); |
| 125 | + return; |
| 126 | + } |
| 127 | + assert.equal(res.stats.pending, 0); |
| 128 | + assert.equal(res.stats.passes, 3); |
| 129 | + assert.equal(res.stats.failures, 0); |
| 130 | + |
| 131 | + assert.equal(res.passes[0].fullTitle, |
| 132 | + 'alpha should be executed first'); |
| 133 | + assert.equal(res.passes[1].fullTitle, |
| 134 | + 'beta should be executed second'); |
| 135 | + assert.equal(res.passes[2].fullTitle, |
| 136 | + 'theta should be executed third'); |
| 137 | + assert.equal(res.code, 0); |
| 138 | + done(); |
| 139 | + }); |
| 140 | + }); |
| 141 | + }); |
| 142 | + |
94 | 143 | describe('--delay', function () {
|
95 | 144 | before(function () {
|
96 | 145 | args = ['--delay'];
|
|
0 commit comments