前端、后端和全栈开发者问题的配置

Last updated: December 12, 2024

一个有效的项目应在根目录中拥有一个有效的hackerrank.yml配置文件。请参考下面的示例或配置参考,以了解如何为您的项目编写配置文件。 

配置参考

version: (编号)
- [必需] 配置架构的版本号。
- 当前版本为 1.0configuration: (哈希)
- [必需] 配置的父属性。
- 所有项目配置都在这里提供
has_webserver: (布尔值)
- [必需] 定义项目是否具有暴露的Web服务器
(可以在服务器外部访问)。
- 使用开放端口 (3000, 3030, 5000, 6000, 6001, 8000, 8080)
用于发布服务器。所有其他端口在外部通信中被阻止。
readonly_paths: (数组)
- [可选] 文件路径和/或正则表达式模式的列表
应标记为只读的候选者
scoring: [可选] (哈希)
- [必需] 评分相关配置的父属性
command: (字符串)
- [必需] 评分命令在此定义。
- 必须提供此属性以使评分工作
files: (数组)
- [可选] 可以在此提供评分输出文件的列表。
- 一旦运行评分命令,平台将搜索这些文件
并解析它们以计算最终得分。
- 如果未提供这些文件,则使用评分命令的输出进行评分。
testcase_weights: (哈希 [<测试用例名称>:<权重>])
- [可选] 此属性可用于提供加权评分
用于测试用例。
- 所有权重的总和应为
1。若所有权重的总和不为一,验证将失败。

- 测试用例权重通过测试用例名称匹配
所有测试用例名称应唯一(跨文件)。
ide_config: (哈希)
- [必需] 所有IDE相关配置在此提供
default_open_files: (数组)
- [必需] 提供要打开的默认文件列表。
路径应相对于项目根文件夹。
project_menu: (字符串)
- [必需] 在此定义项目菜单命令。所有子属性都是必需的。
run:
- [必需] 提供项目 > 运行菜单项的命令
install:
- [必需] 提供项目 > 安装菜单项的命令
test:
- [必需] 提供项目 > 测试菜单项的命令

示例 1:没有评分的节点项目示例配置

version: 1.0configuration:
has_webserver: false
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test

示例 2:具有 Web 服务器和评分的节点项目示例配置

version: 1.0configuration:
has_webserver: true
scoring:
# 期望 npm test 产生测试输出在 results/unit.xml 文件中。
command: "npm test"
files:
- results/unit.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test

示例 3:带加权测试用例的 Java Spring Boot API 项目示例配置

version: 1.0configuration:
has_webserver: false
scoring:
command: "mvn clean test"
files:
- target/customReports/result.xml
testcase_weights:
# 权重之和应为1
创建模型:0.2
删除模型:0.2
编辑模型:0.2
按属性过滤模型:0.4
ide_config:
default_open_files:
- src/main/java/com/hackerrank/sample/controller/ModelController.java
- src/main/java/com/hackerrank/sample/model/Model.java
project_menu:
run: mvn clean spring-boot:run
install: mvn clean install
test: mvn clean test; cat target/customReports/result.txt

示例4:带有Web服务器和多个输出文件的节点项目示例配置

version: 1.0configuration:
has_webserver: true
scoring:
# 期望 npm test 产生的测试输出在 results/unit.xml 文件中。
command: "npm test"
files:
- results/user.xml
- results/project.xml
- results/api.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test

示例 5:只读文件的节点项目示例配置

您可以使用只读文件将某些文件(如测试用例)标记为只读。候选人将无法修改这些文件。

version: 1.0configuration:
has_webserver: true
readonly_paths:
- app/test.js
- app/tests/*

scoring:
command: "npm test"
files:
- results/unit.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test