这可能是一个愚蠢的问题,但到目前为止,我还没有找到相关内容在网上回答......
我正在研究Ionic / Cordova移动应用程序,我想设置一些自动化测试。 我来自Java世界,我想设置它就像我用Maven设置测试一样:当我尝试构建应用程序时(离子/ cordova构建android / ios),此命令会自动启动测试,如果测试未成功通过,构建必须停止并且不生成包。
我在网上发现了很多东西,但似乎测试要么是非阻塞的,要么手动运行,哪个不适合我。
要在Apple AppStore上发布,该版本始终是手动的,因为我们手动检查XCode中的一些微调,因此版本构建往往是手动的,我想防止在没有运行测试的情况下构建。
有没有好办法呢?
PS:我尝试使用Cordova before_build挂钩,但它似乎是在Microsoft JScript中运行,它没有控制台,如果发生未捕获的错误,它不会停止构建...所以它不会像好的选择。提前谢谢!
SJ
答案 0 :(得分:0)
我尝试使用Cordova before_build挂钩,但它似乎是在Microsoft JScript中运行,它没有控制台,如果发生未捕获的错误,它不会停止构建。
使用NodeJS运行Cordova钩子脚本并使用非零错误代码退出将停止构建,因此您可以执行以下操作:
PROJECT_DIR /钩/ before_build / run_maven_tests.js
#!/usr/bin/env node
'use strict';
var exec = require('child_process').exec;
var cliCommand = "mvn surefire:test";
exec(cliCommand, function(err, stdout, stderr) {
if(err){
console.error("Tests failed - aborting build");
process.exit(1);
}
console.log("Tests passed"):
};