Ionic / Cordova构建强制性测试成功

时间:2016-12-14 10:02:00

标签: cordova unit-testing ionic-framework build automated-tests

这可能是一个愚蠢的问题,但到目前为止,我还没有找到相关内容在网上回答......

我正在研究Ionic / Cordova移动应用程序,我想设置一些自动化测试。 我来自Java世界,我想设置它就像我用Maven设置测试一样:当我尝试构建应用程序时(离子/ cordova构建android / ios),此命令会自动启动测试,如果测试未成功通过,构建必须停止并且不生成包。

我在网上发现了很多东西,但似乎测试要么是非阻塞的,要么手动运行,哪个不适合我。

要在Apple AppStore上发布,该版本始终是手动的,因为我们手动检查XCode中的一些微调,因此版本构建往往是手动的,我想防止在没有运行测试的情况下构建。

有没有好办法呢?

PS:我尝试使用Cordova before_build挂钩,但它似乎是在Microsoft JScript中运行,它没有控制台,如果发生未捕获的错误,它不会停止构建...所以它不会像好的选择。

提前谢谢!

SJ

1 个答案:

答案 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"):
};