codecamp

测试JavaScript:Cucumber.js

Cucumber.js

此功能仅在Ultimate版本中受支持。

Cucumber.js是行为驱动的JavaScript开发的测试框架。Cucumber.js测试用可读的Gherkin语言编写,并存储在具有feature扩展名的功能文件中。IntelliJ IDEA与Cucumber.js集成并识别用Gherkin编写的功能,因此您可以直接从IDE运行Cucumber,js测试。

在开始使用Cucumber.js之前,你需要:

  1. 安装Node.js。

  2. 插件管理中所述,在插件页面上安装并启用Cucumber.js和Gherkin存储库插件 。

安装Cucumber.js

  • 打开内置的IntelliJ IDEA终端(Alt+F12)并在命令提示符下键入以下命令之一:
    • npm install cucumber:用于项目中的本地安装。

    • npm install -g cucumber:用于全局安装。

    • npm install --save-dev cucumber:安装Cucumber.js作为开发依赖项。

运行测试

Cucumber.js测试仅通过运行/调试配置启动。

创建Cucumber.js运行配置

  1. 在“项目”工具窗口中选择一个测试文件,然后在上下文菜单中选择“创建<文件名> ”。将打开“运行/调试配置:Cucumber.js”对话框。

  2. 在“功能文件或目录”文本框中,指定要运行的测试。如果要运行一组功能,请输入特定.feature文件或文件夹的路径。

  3. 指定要使用的Node.js解释器。这可能是一个本地Node.js的解释或适用于Linux的Windows子系统的Node.js。

  4. 在Cucumber包字段中,指定存储cucumber包的文件夹的路径或cucumber-js.cmd,cucumber-js.bat的位置,或其他可执行文件,取决于您的操作系统。

  5. 可选:
    • 在“名称过滤器”文本框中,键入要运行的特定方案的名称,而不是功能文件或目录中的所有方案。

    • 指定要传递给可执行文件的命令行参数,例如:-r(--require LIBRARY|DIR), -t(--tags TAG_EXPRESSION)或--coffee。

通过运行配置运行测试

  1. 从主工具栏上的列表中选择Cucumber.js运行/调试配置,然后单击列表右侧的 icons toolwindows toolWindowRun svg

  2. 测试服务器自动启动,无需您执行任何步骤。在“运行”工具窗口中查看和分析来自测试服务器的消息。

  3. 在“运行”工具窗口的“测试运行器”选项卡中监视测试执行。

导航

使用IntelliJ IDEA,您可以在文件和相关的测试文件之间切换。还支持从“测试运行器”选项卡中的测试结果导航到测试。

在文件和相关测试文件之间跳转

  • 在编辑器中打开文件,然后选择:Go To|测试,或者在上下文菜单中选择:Go To|Test Subject,或者只需按Ctrl+Shift+T。

从测试结果跳转到测试

  • 在Test Runner选项卡中选择测试名称,然后在上下文菜单中选择Jump to Source。

    ws_test_jump_to_test
    测试文件在编辑器中打开,光标位于测试定义中。
IntelliJ IDEA集成:Spy-js
测试JavaScript:Jest
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }