如何在夜视仪中运行单个测试

Moh*_*awy 37 functional-testing nightwatch.js

我如何仅从Test 3以下测试中运行?

module.exports = {
  'Test 1':function(){},
  'Test 2':function(){}
  'Test 3':function(){}
}
Run Code Online (Sandbox Code Playgroud)

Nic*_*nec 68

添加了一个新参数--testcase来运行指定的测试用例.

nightwatch.js --test tests\demo.js --testcase "Test 1"
Run Code Online (Sandbox Code Playgroud)

这是v0.6.0以来的新功能

https://github.com/beatfactor/nightwatch/releases/tag/v0.6.0


alb*_*NET 9

您必须在函数之前使用特定标记,并将所有函数分隔在tests目录下的不同文件中,然后使用--tag参数调用命令.请参阅wiki nightwatch标签页并观看此示例:

// --- file1.js ---
module.exports = {
    tags: ['login'],
    'Test 1':function(){
        //TODO test 1
    }
};

// --- file2.js ---
module.exports = {
    tags: ['special', 'createUser'],
    'Test 2':function(){
        //TODO test 2
    },
};

// --- file3.js ---
module.exports = {
    tags: ['logoff', 'special'],
    'Test 3':function(){
        //TODO test 3
    },
}
Run Code Online (Sandbox Code Playgroud)

如果您运行:

nightwatch.js --tag login
Run Code Online (Sandbox Code Playgroud)

只运行测试1,但是如果你运行:

nightwatch.js --tag special
Run Code Online (Sandbox Code Playgroud)

将执行测试2测试3.

您可以指定多个标签

nightwatch.js --tag tag1 --tag tag2
Run Code Online (Sandbox Code Playgroud)

每个测试功能是分开的,因为Nightwatch使用filematcher处理每个文件.请参阅Github代码.

PD:如果文件有语法错误,则可能无法运行测试或未找到测试


Dan*_*rnå 7

所述--testcase标志可以自0.6版本被用来运行从命令行,例如单个测试

nightwatch.js --test tests\demo.js --testcase "Test 1"
Run Code Online (Sandbox Code Playgroud)

这可以使用测试组测试标签来完成.您也可以使用--test标志执行单个测试,例如

nightwatch.js --test tests\demo.js
Run Code Online (Sandbox Code Playgroud)