Javascript 开玩笑地按顺序进行木偶测试
我使用的是Jest Puppeter,我想先运行我的登录测试(设置cookie/localStorage进行身份验证),然后再运行其他测试,但是,我知道Jest不是这样工作的——因为它搜索本地文件系统并根据文件名中的模式运行测试,它们运行的顺序也不同 我不完全确定我是否以正确的方式进行此操作,因为我依赖于一个测试来设置其他测试的身份验证会话Javascript 开玩笑地按顺序进行木偶测试,javascript,testing,jestjs,puppeteer,Javascript,Testing,Jestjs,Puppeteer,我使用的是Jest Puppeter,我想先运行我的登录测试(设置cookie/localStorage进行身份验证),然后再运行其他测试,但是,我知道Jest不是这样工作的——因为它搜索本地文件系统并根据文件名中的模式运行测试,它们运行的顺序也不同 我不完全确定我是否以正确的方式进行此操作,因为我依赖于一个测试来设置其他测试的身份验证会话 是否有可能做到以上几点,或者我需要重新思考我的方法吗?这不是一个及时的答案。我也有类似的问题。我能够通过嵌套描述块按顺序运行测试,如下所示。我的测试在这里需
是否有可能做到以上几点,或者我需要重新思考我的方法吗?这不是一个及时的答案。我也有类似的问题。我能够通过嵌套描述块按顺序运行测试,如下所示。我的测试在这里需要的单独文件中
const puppeteer = require('puppeteer');
const login = require('./login');
const upload = require('./upload');
let browser;
beforeAll(async () => {
browser = await puppeteer.launch({
headless: false,
devtools: true,
slowMo: 50
});
})
describe('test suite', () => {
describe('login', () => {
test('url is correct', async () => {
const url = await login();
expect(url).toBe('https://uat2.onplanapp.com/#/');
}, 25000);
});
describe('upload', () => {
test('file upload ok', async () => {
url = await upload();
console.log('page.url');
expect(url).toBe('https://uat2.onplanapp.com/#/moduleLibrary');
//expect(url).toBe('https://uat2.onplanapp.com/#/uploadFile');
}, 10000);
});
afterAll(async done => {
console.log('GOT TO AFTER ALL');
browser.close()
done();
});
});
我会重新考虑这个方法。。。有没有办法在测试之外设置身份验证数据?通常我会在
之前的钩子中放入类似的内容。这是可能的,但我想实际测试登录流。登录步骤:在主页上,我检查用户是否已登录,如果未登录,则重定向到单独的网站进行身份验证,字段已完成,当表单提交时,用户将重定向回仪表板。在这种情况下,我会将两者都。。。对登录流的测试和为其他测试用例设置auth的beforeAll
钩子。