-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Weird behaviour with imported sequence tests #10
Comments
No this is "normal" behaviour. For performance reasons tests are run in parallel (but reported in sequence). If you wish to respect the sequence you can pass the option plan({sequence:true})
.test('test1',async t=>{})
.test('will not start before test 1 is done', t => {}) |
Huh... but isn't that what I'm doing in example.js above? |
In case it wasn't clear - I'd like to get multiple plans running sequentially concurrently.
... for example! |
Actually, it seems like I'm overthinking it. I'll go ahead with a different approach :) |
@oles |
Awesome! I'll try it out and will report back later today or early next week :) |
Alright! First - I'm wondering... How to convert this to v2? index.js
example.js
This is what I'm at currently: index.js
example.js
|
It works, but seems a bit unintuitive - that extra indentation 🤔 |
Technically you don't need anymore an entry point. So the index.js is a bit useless. If you still want to use one. (to be used with a module bundler for instance) you can simply in your entry point import the files even though they don't export anything. It works at least with rollup (and natively with nodejs). import test from 'zora';
test('foo',t=>{
//
}); test/index.js import whathever from 'test/test1.js'; You could as well simply concat the files // only the import of the libraries
import test from 'zora'; test.js // no import at all
test('foo', t => {
t.ok(true);
}); then However this one introduces implicit globals (loaded in index.js). you could as well export all your tests (a bit troublesome) import test from 'zora';
export const t1 = test('foo',t=>{});
export const t2 = test('foo',t=>{}); //index.js
import * as t1 from './test.js' otherwise you can do as you did. It indeed add an indentation but you had it before anyway by exporting the plan and then by importing it to be able to call |
Aha! I think this suits me even better - I'll try it soon! |
Confirmed - seems to work well 👍 |
Made my setup and structure for the tests even better and simpler. Wonderful job, @lorenzofox3! |
Glad you liked it ! funcX.js import test from 'zora';
export default test('testing functionality x',t=>{
t.test('test 1', t=> {
//
});
t.test('test 2', t=>{
//
});
}); then in index.js import funcX from './funcX.js';
|
Ahh, great to know. Currently rolling with just a simple |
It seems like there's something weird going on when a test is imported to be used in a plan of plans.
index.js
example.js
Now, 'after' is logged at once, followed by 'before' after a second, if you run
node -r @std/esm index.js
.If I append
.run()
and removeexport default
from example.js, and run it directly - it works!'before' pops up first, followed by 'after'.
Thought I'd let you know, even though the sequenced option is not yet documented :)
The text was updated successfully, but these errors were encountered: