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

Intern - define different commands / arguments to run different tests

我有一个项目有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 测试。

谢谢

您应该使用 Intern 2.1 release announce 中介绍的 grep 参数。使用 grep,您可以针对一个特定的测试或 class 的测试,具体取决于您的命名约定。

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

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

更复杂的(但长期来说好)是自己写一个过滤函数(嗯,也许你可以向https://github.com/theintern/intern提出要求?)。我们确实有自己的自定义过滤器,但在这里写下来太复杂了。如果你向 Intern 提出请求,也许我会尝试花一些时间为它(或者可能是其他人)提出一个 pullrequest 无论如何我得到的结果是:

(我有 2 个名为 file1_func.js、file2_func.js 的文件和更多文件)