实习生 - 定义不同的命令/参数以运行不同的测试

时间:2016-11-29 17:11:56

标签: javascript unit-testing intern

我有一个带2个功能套件的项目,结构如下:

- /tests
--- /sign
------ sign.js
--- /buy
------ buy.js
--- intern.js
- /node_modules
- ....

在我的intern.js我有这个

//...
functionalSuites: [ 'tests/sign/sign', 'tests/buy/buy'],  
//...

运行测试intern-runner config=tests/intern

到目前为止一切顺利,2/2测试通过了。

我想知道是否可以传递一些参数来仅执行functionalSuites的一部分

前:

intern-runner config=tests/intern --sign

不知何故,它只会运行functionalSuite tests/sign/sign

如果我通过intern-runner config=tests/intern --all,它将运行所有的functionalSuite测试。

谢谢

2 个答案:

答案 0 :(得分:1)

您应该使用Intern 2.1 release announce中介绍的grep参数。使用grep,您可以根据命名约定来定位一个特定测试或一类测试。

在我们的示例中,functionSuites设置仅包含'test/functional/**/*,以确保CI过程不会忘记任何功能测试。我们在脚本开发期间使用grep属性。

答案 1 :(得分:1)

简单的解决方案是: intern-runner config=tests/intern functionalSuites=test/sign/sign

更复杂(但长期有益)是自己编写一个过滤函数(嗯,也许你可以向https://github.com/theintern/intern提出请求?)。我们有自定义过滤器,但在此处写下来太复杂了。如果您向实习生提出请求,也许我会尝试花一些时间为它(或者其他人)进行拉动请求。无论如何,我得到的结果是:

(我有2个文件名为file1_func.js,file2_func.js和更多文件) enter image description here