真的有可能✅。请参考以下代码。要求包含 it() 块的测试文件,并在下一个实际的 it() 块开始执行之前将其从缓存中删除。我附上了执行截图。
spec.js
describe('Basic checks for internet app', () => {
let resolved
it('should have the right title', async () => {
await browser.url('https://webdriver.io');
const title = await browser.getTitle();
assert.strictEqual(title, 'WebdriverIO · Next-gen WebDriver test framework for Node.js');
require('./test');
resolved = require.resolve('./test');
delete require.cache[resolved];
})
it('should assert the wrong right title', async () => {
await browser.url('https://webdriver.io');
const title = await browser.getTitle();
return assert.strictEqual(title, 'Next-gen WebDriver test framework for Node.js');
require('./test');
resolved = require.resolve('./test');
delete require.cache[resolved];
})
})
test.js
import assert from 'assert';
assert.equal(2, 2)
(或)
如果您希望这是一个单独的测试,请按照以下方式进行操作
spec.js
describe('Basic checks for internet app', () => {
let resolved
it('should have the right title', async () => {
await browser.url('https://webdriver.io');
const title = await browser.getTitle();
return assert.strictEqual(title, 'WebdriverIO · Next-gen WebDriver test framework for Node.js');
})
require('./test');
resolved = require.resolve('./test');
delete require.cache[resolved];
it('should assert the wrong right title', async () => {
await browser.url('https://webdriver.io');
const title = await browser.getTitle();
return assert.strictEqual(title, 'Next-gen WebDriver test framework for Node.js');
})
require('./test');
resolved = require.resolve('./test');
delete require.cache[resolved];
})
test.js
import assert from 'assert';
it('should be executed', () => {
assert.equal(2, 2)
})