gpt4 book ai didi

javascript - 将检查所有文件格式正确的测试添加到 Karma\Travis

转载 作者:行者123 更新时间:2023-11-29 10:10:24 24 4
gpt4 key购买 nike

我正在为我的一个项目在本地使用 karma 和 Travis 实现一些测试,用于 github 测试集成(除非所有测试都通过,否则你不能合并拉取请求)

我真的很想对代码格式化做同样的事情。我将 jscsgulp 结合使用以检查代码。

我考虑过为 Travis 添加一个测试,以便在 PR 格式不正确时使测试失败。

有没有标准的方法来做到这一点?目前,我考虑了两种选择:向我的测试套件添加一个测试以检查格式。如果返回任何错误,则使测试失败。另一种选择是仅在 Travis 上运行任务,但我无法使 Travis 构建在 lint 任务上失败。

我看到有一个 karma 预处理器,但据我所知,如果发现任何 jscs 错误,它不会使 travis 失败。

对此有更好的做法吗?

<TEST_FRAMEWORK> test file formatting 以来,我在互联网上找不到任何内容只是返回很多关于如何正确格式化测试(可读性)的结果

最佳答案

因为看起来没有任何标准的方法可以做到这一点,我将列出两个选择来做这样的事情:

一切之前

您需要让 gulp/grunt 任务返回一个非零 才能使其失败。如果任务失败,Travis 会将其视为构建失败,这将表明 PR 的测试失败。在 gulpjscs 中,我是这样做的:

gulp.task('lint-js', function() {
return gulp.src(FILES.JS_ALL)
.pipe(cache('linting'))
.pipe(jscs())
.pipe(jscs.reporter())
.pipe(jscs.reporter('fail'));
});

大多数 linters 都有一个记者。如果您在末尾通过管道传输 .reporter('fail'),如果您的 linter 返回任何 lint 错误,它将返回一个非零

对于 Grunt,根据 @Nocomm 的回答,如果发现任何 lint 错误,grunt 似乎会自动返回一个非零

1) 如果文件未格式化则使测试任务失败

您可以将lint 任务添加为test 任务的依赖项。如果你这样添加:

gulp.task('test', ['lint-js'], function() {//...

Travis 开始运行您的测试时,它会首先检查所有文件的格式是否正确。如果不是,Travis 会将非零 返回视为失败并在 GitHub

上正确报告

2) 将你的 gulp lint 任务添加到 Travis 的 before_script

既然您的 lint 任务因 lint 警告而失败,您可以将该任务添加到 .travis.yml before_script 运行测试之前要运行的命令列表。只需将它添加到列表的末尾,以便在测试之前运行它(为什么要在因格式化而失败的 PR 上运行测试?),并在安装运行此类任务所需的一切之后立即运行。

来自 Travis 日志文件: enter image description here

关于javascript - 将检查所有文件格式正确的测试添加到 Karma\Travis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34592904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com