使用 Nightwatchjs 在 运行 时间有条件地 运行 测试
Conditionally run tests at runtime using Nightwatchjs
我正在使用 nightwatch 来 运行 我的端到端测试,但我想在 运行 时间根据一些全局设置有条件地 运行 某些测试。
// globals.js
module.exports = {
FLAG: true
};
// test.js
describe('Something', () => {
it('should do something', client => {
if (client.globals.FLAG) {
expect(1).to.equal(1);
}
});
});
以上工作正常,但我想静默整个测试并有条件地包含 it
例如:
// test.js
describe('Something', () => {
// client does not exist out here so it does not work.
if (client.globals.FLAG) {
it('should do something', client => {
expect(1).to.equal(1);
});
}
});
我知道我可以通过在 nightwatch.js
中定义它们并排除文件等来跳过测试,但这不是我可以在此实现中使用的方法。另一种解决方案可能是使用标签,但我不确定使用 Mocha 是否可行。
您可以通过导入模块来访问第二个示例中的标志 globals.js
:
// test.js
const globals = require('../globals.js');
describe('Something', () => {
if (globals.FLAG) {
it('should do something', client => {
expect(1).to.equal(1);
});
}
});
您还可以创建一个函数来在满足条件时忽略测试:
// test.js
const FLAG = require('../globals.js').FLAG;
const not = function(v){ return {it: v ? function(){}: it} };
describe('Something', () => {
not(FLAG).it('should do something', client => {
expect(1).to.equal(1);
});
});
我正在使用 nightwatch 来 运行 我的端到端测试,但我想在 运行 时间根据一些全局设置有条件地 运行 某些测试。
// globals.js
module.exports = {
FLAG: true
};
// test.js
describe('Something', () => {
it('should do something', client => {
if (client.globals.FLAG) {
expect(1).to.equal(1);
}
});
});
以上工作正常,但我想静默整个测试并有条件地包含 it
例如:
// test.js
describe('Something', () => {
// client does not exist out here so it does not work.
if (client.globals.FLAG) {
it('should do something', client => {
expect(1).to.equal(1);
});
}
});
我知道我可以通过在 nightwatch.js
中定义它们并排除文件等来跳过测试,但这不是我可以在此实现中使用的方法。另一种解决方案可能是使用标签,但我不确定使用 Mocha 是否可行。
您可以通过导入模块来访问第二个示例中的标志 globals.js
:
// test.js
const globals = require('../globals.js');
describe('Something', () => {
if (globals.FLAG) {
it('should do something', client => {
expect(1).to.equal(1);
});
}
});
您还可以创建一个函数来在满足条件时忽略测试:
// test.js
const FLAG = require('../globals.js').FLAG;
const not = function(v){ return {it: v ? function(){}: it} };
describe('Something', () => {
not(FLAG).it('should do something', client => {
expect(1).to.equal(1);
});
});