我目前正在处理的项目遇到了一些问题。本质上,我试图在单独的描述块中同时运行来自不同文件的多个测试。
在第一次测试中,我想设置所有参数,然后在第二次测试中我想使用这些参数填写表格。通过承诺和描述工作的方式,我想知道这是否可能。有人有什么建议吗?
除了尝试使我的对象全局化(我更愿意远离它(,并将我的对象传递到第二个描述中(这不起作用,因为它在第一个描述完成并实际为它们赋值之前就被传递了(之外,我没有做过太多尝试。
describe('0', function () {
let objectToPassAround = {}
describe('1', function () {
const test1 = require('@file1');
test1.runTest();
});
describe('2', function () {
const test2 = require('@file2');
test2.runTest();
});
});
例如,在上面的文章中,我想在test1中设置objectToPassAround
的值,并在test2中使用该对象及其新设置的值。
谢谢!
您可以将所有内容封装在一个更大的描述中。
describe('0', () => {
let objectToPassAround = {};
describe('1', () => {
// you should have access to objectToPassAround
});
describe('2', () => {
// you should have access to objectToPassAround
});
});
需要注意的是,如果你使用Jasmine,测试可能会按随机顺序运行,因此,如果你在测试3中设置了对象,然后期望在测试4中设置,情况可能并非如此。测试4可以在测试3之前运行。这是一个确保测试顺序无关紧要的功能,因为每个测试都应该相互独立。