仅 运行 测试变量是否大于值赛普拉斯
Only run tests if a variable is larger than a value Cypress
如果版本在 cypress 中达到一定数量或更高,我将尝试仅 运行 一组测试,但我似乎无法使其正常工作。下面的代码有点抽象,但显示了整体结构:
if (version < 8203) {
context('Skipping Tests', () => {
it('Feature Not Available', () => {
cy.task('log', "Skipping test. Feature not available in this version");
});
});
else {
context('Testing Feature', () => {
it('Test 1', () => {
});
it('Test 2', () => {
});
it('Test 3', () => {
});
});
}
我不确定这是否是解决此问题的正确方法,我尝试了几种不同的方法来构建它,包括将 if 语句放在上下文中,但看起来 cypress 忽略了 if 语句或只是继续前进到最后一个上下文并且它起作用。
您提到此代码用于获取 version
中的值。
let version;
getVersion((setVersion) => {
version = parseInt(setVersion.replace(/[v.]/g, ''));
console.log(version); //8203
});
if (version < 8203) { ??? is this where you test ???
如果上述模式是您的测试的样子,我会说 getVersion()
回调在 if()
被评估之前尚未完成。
这个结构有改进吗?
let version;
getVersion((setVersion) => {
version = parseInt(setVersion.replace(/[v.]/g, ''));
console.log(version); //8203
if (version < 8203) {
...
}
else {
context('Testing Feature', () => {
it('Test 1', () => {
...
});
}
});
如果版本在 cypress 中达到一定数量或更高,我将尝试仅 运行 一组测试,但我似乎无法使其正常工作。下面的代码有点抽象,但显示了整体结构:
if (version < 8203) {
context('Skipping Tests', () => {
it('Feature Not Available', () => {
cy.task('log', "Skipping test. Feature not available in this version");
});
});
else {
context('Testing Feature', () => {
it('Test 1', () => {
});
it('Test 2', () => {
});
it('Test 3', () => {
});
});
}
我不确定这是否是解决此问题的正确方法,我尝试了几种不同的方法来构建它,包括将 if 语句放在上下文中,但看起来 cypress 忽略了 if 语句或只是继续前进到最后一个上下文并且它起作用。
您提到此代码用于获取 version
中的值。
let version;
getVersion((setVersion) => {
version = parseInt(setVersion.replace(/[v.]/g, ''));
console.log(version); //8203
});
if (version < 8203) { ??? is this where you test ???
如果上述模式是您的测试的样子,我会说 getVersion()
回调在 if()
被评估之前尚未完成。
这个结构有改进吗?
let version;
getVersion((setVersion) => {
version = parseInt(setVersion.replace(/[v.]/g, ''));
console.log(version); //8203
if (version < 8203) {
...
}
else {
context('Testing Feature', () => {
it('Test 1', () => {
...
});
}
});